GVKun编程网logo

Java for Loop评估(java评价)

13

在这篇文章中,我们将带领您了解JavaforLoop评估的全貌,包括java评价的相关情况。同时,我们还将为您介绍有关20veryusefulJavacodesnippetsforJavaDevelo

在这篇文章中,我们将带领您了解Java for Loop评估的全貌,包括java评价的相关情况。同时,我们还将为您介绍有关20 very useful Java code snippets for Java Develop、A nice tool for java developer -Thumbnailator、c# – 在foreach-loop中创建许多DropDownListFor、com.sun.tools.javac.tree.JCTree.JCEnhancedForLoop的实例源码的知识,以帮助您更好地理解这个主题。

本文目录一览:

Java for Loop评估(java评价)

Java for Loop评估(java评价)

我想知道是否在循环周期结束时在Java中执行条件评估forwhile在Java中循环。

例:

int[] tenBig = new int[]{1,2,3,4,5,6,7,8,9,10};for(int index = 0;index < tenBig.length;index++){    System.out.println("Value at index: "+tenBig[index]);}

请问index < tenBig.lengthBE执行每次循环周期结束的时间?

假设和经验告诉我是的。

我知道在此示例中,它tenBig.length是一个常量,因此不会对性能产生影响。

但是让我们假设条件操作在不同情况下花费的时间很长。我知道接下来要做的逻辑就是将赋给tenBig.length变量。

我仍然要确保每次都对其进行评估。

答案1

小编典典

是的,它将在每次循环迭代时逻辑上评估整个中间操作数。当然,如果JIT知道的更好,它可以做一些聪明的事情(甚至可能根据循环条件在循环中删除数组边界检查)。

请注意,对于JIT未知的类型,它可能无法像这样专门进行优化-但仍可能内联诸如获取size()of的内容ArrayList<T>

最后,我通常更喜欢增强的for循环以提高可读性:

for (int value : tenBig) {    ...}

当然,这是假设您出于其他原因不需要索引。

20 very useful Java code snippets for Java Develop

20 very useful Java code snippets for Java Develop

1. Converting Strings to int and int to String
view plaincopy to clipboardprint?
 
String a = String.valueOf(2);   //integer to numeric string  
int i = Integer.parseInt(a); //numeric string to an int 


String a = String.valueOf(2);   //integer to numeric string
int i = Integer.parseInt(a); //numeric string to an int
2. Append text to file in Java
Updated: Thanks Simone for pointing to exception. I have changed the code.

view plaincopy to clipboardprint?
 
BufferedWriter out = null;  
try {  
    out = new BufferedWriter(new FileWriter(”filename”, true));  
    out.write(”aString”);  
} catch (IOException e) {  
    // error processing code  
} finally {  
    if (out != null) {  
        out.close();  
    }  



BufferedWriter out = null;
try {
out = new BufferedWriter(new FileWriter(”filename”, true));
out.write(”aString”);
} catch (IOException e) {
// error processing code
} finally {
if (out != null) {
out.close();
}
}
3. Get name of current method in Java
view plaincopy to clipboardprint?
 
String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); 


String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
4. Convert String to Date in Java
view plaincopy to clipboardprint?
 
java.util.Date = java.text.DateFormat.getDateInstance().parse(date String); 


java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);
or

view plaincopy to clipboardprint?
 
SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );  
Date date = format.parse( myString ); 


SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );
Date date = format.parse( myString );
5. Connecting to Oracle using Java JDBC
view plaincopy to clipboardprint?
 
public class OracleJdbcTest  
{  
    String driver;  
 
    Connection con;  
 
    public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException  
    {  
        Properties props = new Properties();  
        props.load(fs);  
        String url = props.getProperty("db.url");  
        String userName = props.getProperty("db.user");  
        String password = props.getProperty("db.password");  
        Class.forName(driverClass);  
 
        con=DriverManager.getConnection(url, userName, password);  
    }  
 
    public void fetch() throws SQLException, IOException  
    {  
        PreparedStatement ps = con.prepareStatement("select SYSDATE from dual");  
        ResultSet rs = ps.executeQuery();  
 
        while (rs.next())  
        {  
            // do the thing you do  
        }  
        rs.close();  
        ps.close();  
    }  
 
    public static void main(String[] args)  
    {  
        OracleJdbcTest test = new OracleJdbcTest();  
        test.init();  
        test.fetch();  
    }  



public class OracleJdbcTest
{
String driver;

Connection con;

public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
{
Properties props = new Properties();
props.load(fs);
String url = props.getProperty("db.url");
String userName = props.getProperty("db.user");
String password = props.getProperty("db.password");
Class.forName(driverClass);

con=DriverManager.getConnection(url, userName, password);
}

public void fetch() throws SQLException, IOException
{
PreparedStatement ps = con.prepareStatement("select SYSDATE from dual");
ResultSet rs = ps.executeQuery();

while (rs.next())
{
// do the thing you do
}
rs.close();
ps.close();
}

public static void main(String[] args)
{
OracleJdbcTest test = new OracleJdbcTest();
test.init();
test.fetch();
}
}
6. Convert Java util.Date to sql.Date

This snippet shows how to convert a java util Date into a sql Date for use in databases.

view plaincopy to clipboardprint?
 
java.util.Date utilDate = new java.util.Date();  
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); 


java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
7. Java Fast File Copy using NIO
view plaincopy to clipboardprint?
 
public static void fileCopy( File in, File out )  
            throws IOException  
    {  
        FileChannel inChannel = new FileInputStream( in ).getChannel();  
        FileChannel outChannel = new FileOutputStream( out ).getChannel();  
        try 
        {  
//          inChannel.transferTo(0, inChannel.size(), outChannel);      // original -- apparently has trouble copying large files on Windows  
 
            // magic number for Windows, 64Mb - 32Kb)  
            int maxCount = (64 * 1024 * 1024) - (32 * 1024);  
            long size = inChannel.size();  
            long position = 0;  
            while ( position < size )  
            {  
               position += inChannel.transferTo( position, maxCount, outChannel );  
            }  
        }  
        finally 
        {  
            if ( inChannel != null )  
            {  
               inChannel.close();  
            }  
            if ( outChannel != null )  
            {  
                outChannel.close();  
            }  
        }  
    } 


public static void fileCopy( File in, File out )
            throws IOException
    {
        FileChannel inChannel = new FileInputStream( in ).getChannel();
        FileChannel outChannel = new FileOutputStream( out ).getChannel();
        try
        {
//          inChannel.transferTo(0, inChannel.size(), outChannel);      // original -- apparently has trouble copying large files on Windows

            // magic number for Windows, 64Mb - 32Kb)
            int maxCount = (64 * 1024 * 1024) - (32 * 1024);
            long size = inChannel.size();
            long position = 0;
            while ( position < size )
            {
               position += inChannel.transferTo( position, maxCount, outChannel );
            }
        }
        finally
        {
            if ( inChannel != null )
            {
               inChannel.close();
            }
            if ( outChannel != null )
            {
                outChannel.close();
            }
        }
    }
8. Create Thumbnail of an image in Java
view plaincopy to clipboardprint?
 
private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)  
        throws InterruptedException, FileNotFoundException, IOException  
    {  
        // load image from filename  
        Image image = Toolkit.getDefaultToolkit().getImage(filename);  
        MediaTracker mediaTracker = new MediaTracker(new Container());  
        mediaTracker.addImage(image, 0);  
        mediaTracker.waitForID(0);  
        // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());  
 
        // determine thumbnail size from WIDTH and HEIGHT  
        double thumbRatio = (double)thumbWidth / (double)thumbHeight;  
        int imageWidth = image.getWidth(null);  
        int imageHeight = image.getHeight(null);  
        double imageRatio = (double)imageWidth / (double)imageHeight;  
        if (thumbRatio < imageRatio) {  
            thumbHeight = (int)(thumbWidth / imageRatio);  
        } else {  
            thumbWidth = (int)(thumbHeight * imageRatio);  
        }  
 
        // draw original image to thumbnail image object and  
        // scale it to the new size on-the-fly  
        BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);  
        Graphics2D graphics2D = thumbImage.createGraphics();  
        graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);  
        graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);  
 
        // save thumbnail image to outFilename  
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));  
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);  
        JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);  
        quality = Math.max(0, Math.min(quality, 100));  
        param.setQuality((float)quality / 100.0f, false);  
        encoder.setJPEGEncodeParam(param);  
        encoder.encode(thumbImage);  
        out.close();  
    } 


private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)
throws InterruptedException, FileNotFoundException, IOException
{
// load image from filename
Image image = Toolkit.getDefaultToolkit().getImage(filename);
MediaTracker mediaTracker = new MediaTracker(new Container());
mediaTracker.addImage(image, 0);
mediaTracker.waitForID(0);
// use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());

// determine thumbnail size from WIDTH and HEIGHT
double thumbRatio = (double)thumbWidth / (double)thumbHeight;
int imageWidth = image.getWidth(null);
int imageHeight = image.getHeight(null);
double imageRatio = (double)imageWidth / (double)imageHeight;
if (thumbRatio < imageRatio) {
thumbHeight = (int)(thumbWidth / imageRatio);
} else {
thumbWidth = (int)(thumbHeight * imageRatio);
}

// draw original image to thumbnail image object and
// scale it to the new size on-the-fly
BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);

// save thumbnail image to outFilename
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float)quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);
out.close();
}
9. Creating JSON data in Java
Read this article for more details.
Download JAR file json-rpc-1.0.jar (75 kb)

view plaincopy to clipboardprint?
 
import org.json.JSONObject;  
...  
...  
JSONObject json = new JSONObject();  
json.put("city", "Mumbai");  
json.put("country", "India");  
...  
String output = json.toString();  
... 


import org.json.JSONObject;
...
...
JSONObject json = new JSONObject();
json.put("city", "Mumbai");
json.put("country", "India");
...
String output = json.toString();
...
10. PDF Generation in Java using iText JAR
Read this article for more details.

view plaincopy to clipboardprint?
 
import java.io.File;  
import java.io.FileOutputStream;  
import java.io.OutputStream;  
import java.util.Date;  
 
import com.lowagie.text.Document;  
import com.lowagie.text.Paragraph;  
import com.lowagie.text.pdf.PdfWriter;  
 
public class GeneratePDF {  
 
    public static void main(String[] args) {  
        try {  
            OutputStream file = new FileOutputStream(new File("C:\\Test.pdf"));  
 
            Document document = new Document();  
            PdfWriter.getInstance(document, file);  
            document.open();  
            document.add(new Paragraph("Hello Kiran"));  
            document.add(new Paragraph(new Date().toString()));  
 
            document.close();  
            file.close();  
 
        } catch (Exception e) {  
 
            e.printStackTrace();  
        }  
    }  



import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Date;

import com.lowagie.text.Document;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;

public class GeneratePDF {

    public static void main(String[] args) {
        try {
            OutputStream file = new FileOutputStream(new File("C:\\Test.pdf"));

            Document document = new Document();
            PdfWriter.getInstance(document, file);
            document.open();
            document.add(new Paragraph("Hello Kiran"));
            document.add(new Paragraph(new Date().toString()));

            document.close();
            file.close();

        } catch (Exception e) {

            e.printStackTrace();
        }
    }
}
11. HTTP Proxy setting in Java
Read this article for more details.

view plaincopy to clipboardprint?
 
System.getProperties().put("http.proxyHost", "someProxyURL");  
System.getProperties().put("http.proxyPort", "someProxyPort");  
System.getProperties().put("http.proxyUser", "someUserName");  
System.getProperties().put("http.proxyPassword", "somePassword"); 


System.getProperties().put("http.proxyHost", "someProxyURL");
System.getProperties().put("http.proxyPort", "someProxyPort");
System.getProperties().put("http.proxyUser", "someUserName");
System.getProperties().put("http.proxyPassword", "somePassword");
12. Java Singleton example
Read this article for more details.
Update: Thanks Markus for the comment. I have updated the code and changed it to more robust implementation.

view plaincopy to clipboardprint?
 
public class SimpleSingleton {  
    private static SimpleSingleton singleInstance =  new SimpleSingleton();  
 
    //Marking default constructor private  
    //to avoid direct instantiation.  
    private SimpleSingleton() {  
    }  
 
    //Get instance for class SimpleSingleton  
    public static SimpleSingleton getInstance() {  
 
        return singleInstance;  
    }  



public class SimpleSingleton {
private static SimpleSingleton singleInstance =  new SimpleSingleton();

//Marking default constructor private
//to avoid direct instantiation.
private SimpleSingleton() {
}

//Get instance for class SimpleSingleton
public static SimpleSingleton getInstance() {

return singleInstance;
}
}
One more implementation of Singleton class. Thanks to Ralph and Lukasz Zielinski for pointing this out.

view plaincopy to clipboardprint?
 
public enum SimpleSingleton {  
    INSTANCE;  
    public void doSomething() {  
    }  
}  
 
//Call the method from Singleton:  
SimpleSingleton.INSTANCE.doSomething(); 


public enum SimpleSingleton {
INSTANCE;
public void doSomething() {
}
}

//Call the method from Singleton:
SimpleSingleton.INSTANCE.doSomething();
13. Capture screen shots in Java
Read this article for more details.

view plaincopy to clipboardprint?
 
import java.awt.Dimension;  
import java.awt.Rectangle;  
import java.awt.Robot;  
import java.awt.Toolkit;  
import java.awt.image.BufferedImage;  
import javax.imageio.ImageIO;  
import java.io.File;  
 
...  
 
public void captureScreen(String fileName) throws Exception {  
 
   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();  
   Rectangle screenRectangle = new Rectangle(screenSize);  
   Robot robot = new Robot();  
   BufferedImage image = robot.createScreenCapture(screenRectangle);  
   ImageIO.write(image, "png", new File(fileName));  
 
}  
... 


import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;

...

public void captureScreen(String fileName) throws Exception {

   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
   Rectangle screenRectangle = new Rectangle(screenSize);
   Robot robot = new Robot();
   BufferedImage image = robot.createScreenCapture(screenRectangle);
   ImageIO.write(image, "png", new File(fileName));

}
...
14. Files-Directory listing in Java
view plaincopy to clipboardprint?
File dir = new File("directoryName");  
  String[] children = dir.list();  
  if (children == null) {  
      // Either dir does not exist or is not a directory  
  } else {  
      for (int i=0; i < children.length; i++) {  
          // Get filename of file or directory  
          String filename = children[i];  
      }  
  }  
 
  // It is also possible to filter the list of returned files.  
  // This example does not return any files that start with `.''.  
  FilenameFilter filter = new FilenameFilter() {  
      public boolean accept(File dir, String name) {  
          return !name.startsWith(".");  
      }  
  };  
  children = dir.list(filter);  
 
  // The list of files can also be retrieved as File objects  
  File[] files = dir.listFiles();  
 
  // This filter only returns directories  
  FileFilter fileFilter = new FileFilter() {  
      public boolean accept(File file) {  
          return file.isDirectory();  
      }  
  };  
  files = dir.listFiles(fileFilter); 


  File dir = new File("directoryName");
    String[] children = dir.list();
    if (children == null) {
        // Either dir does not exist or is not a directory
    } else {
        for (int i=0; i < children.length; i++) {
            // Get filename of file or directory
            String filename = children[i];
        }
    }

    // It is also possible to filter the list of returned files.
    // This example does not return any files that start with `.''.
    FilenameFilter filter = new FilenameFilter() {
        public boolean accept(File dir, String name) {
            return !name.startsWith(".");
        }
    };
    children = dir.list(filter);

    // The list of files can also be retrieved as File objects
    File[] files = dir.listFiles();

    // This filter only returns directories
    FileFilter fileFilter = new FileFilter() {
        public boolean accept(File file) {
            return file.isDirectory();
        }
    };
    files = dir.listFiles(fileFilter);
15. Creating ZIP and JAR Files in Java
view plaincopy to clipboardprint?
 
import java.util.zip.*;  
import java.io.*;  
 
public class ZipIt {  
    public static void main(String args[]) throws IOException {  
        if (args.length < 2) {  
            System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");  
            System.exit(-1);  
        }  
        File zipFile = new File(args[0]);  
        if (zipFile.exists()) {  
            System.err.println("Zip file already exists, please try another");  
            System.exit(-2);  
        }  
        FileOutputStream fos = new FileOutputStream(zipFile);  
        ZipOutputStream zos = new ZipOutputStream(fos);  
        int bytesRead;  
        byte[] buffer = new byte[1024];  
        CRC32 crc = new CRC32();  
        for (int i=1, n=args.length; i < n; i++) {  
            String name = args[i];  
            File file = new File(name);  
            if (!file.exists()) {  
                System.err.println("Skipping: " + name);  
                continue;  
            }  
            BufferedInputStream bis = new BufferedInputStream(  
                new FileInputStream(file));  
            crc.reset();  
            while ((bytesRead = bis.read(buffer)) != -1) {  
                crc.update(buffer, 0, bytesRead);  
            }  
            bis.close();  
            // Reset to beginning of input stream  
            bis = new BufferedInputStream(  
                new FileInputStream(file));  
            ZipEntry entry = new ZipEntry(name);  
            entry.setMethod(ZipEntry.STORED);  
            entry.setCompressedSize(file.length());  
            entry.setSize(file.length());  
            entry.setCrc(crc.getValue());  
            zos.putNextEntry(entry);  
            while ((bytesRead = bis.read(buffer)) != -1) {  
                zos.write(buffer, 0, bytesRead);  
            }  
            bis.close();  
        }  
        zos.close();  
    }  



import java.util.zip.*;
import java.io.*;

public class ZipIt {
    public static void main(String args[]) throws IOException {
        if (args.length < 2) {
            System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");
            System.exit(-1);
        }
        File zipFile = new File(args[0]);
        if (zipFile.exists()) {
            System.err.println("Zip file already exists, please try another");
            System.exit(-2);
        }
        FileOutputStream fos = new FileOutputStream(zipFile);
        ZipOutputStream zos = new ZipOutputStream(fos);
        int bytesRead;
        byte[] buffer = new byte[1024];
        CRC32 crc = new CRC32();
        for (int i=1, n=args.length; i < n; i++) {
            String name = args[i];
            File file = new File(name);
            if (!file.exists()) {
                System.err.println("Skipping: " + name);
                continue;
            }
            BufferedInputStream bis = new BufferedInputStream(
                new FileInputStream(file));
            crc.reset();
            while ((bytesRead = bis.read(buffer)) != -1) {
                crc.update(buffer, 0, bytesRead);
            }
            bis.close();
            // Reset to beginning of input stream
            bis = new BufferedInputStream(
                new FileInputStream(file));
            ZipEntry entry = new ZipEntry(name);
            entry.setMethod(ZipEntry.STORED);
            entry.setCompressedSize(file.length());
            entry.setSize(file.length());
            entry.setCrc(crc.getValue());
            zos.putNextEntry(entry);
            while ((bytesRead = bis.read(buffer)) != -1) {
                zos.write(buffer, 0, bytesRead);
            }
            bis.close();
        }
        zos.close();
    }
}
16. Parsing / Reading XML file in Java
Sample XML file.

view plaincopy to clipboardprint?
 
<?xml version="1.0"?> 
<students> 
    <student> 
        <name>John</name> 
        <grade>B</grade> 
        <age>12</age> 
    </student> 
    <student> 
        <name>Mary</name> 
        <grade>A</grade> 
        <age>11</age> 
    </student> 
    <student> 
        <name>Simon</name> 
        <grade>A</grade> 
        <age>18</age> 
    </student> 
</students> 


<?xml version="1.0"?>
<students>
<student>
<name>John</name>
<grade>B</grade>
<age>12</age>
</student>
<student>
<name>Mary</name>
<grade>A</grade>
<age>11</age>
</student>
<student>
<name>Simon</name>
<grade>A</grade>
<age>18</age>
</student>
</students>
Java code to parse above XML.

view plaincopy to clipboardprint?
 
package net.viralpatel.java.xmlparser;  
 
import java.io.File;  
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;  
 
import org.w3c.dom.Document;  
import org.w3c.dom.Element;  
import org.w3c.dom.Node;  
import org.w3c.dom.NodeList;  
 
public class XMLParser {  
 
    public void getAllUserNames(String fileName) {  
        try {  
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
            DocumentBuilder db = dbf.newDocumentBuilder();  
            File file = new File(fileName);  
            if (file.exists()) {  
                Document doc = db.parse(file);  
                Element docEle = doc.getDocumentElement();  
 
                // Print root element of the document  
                System.out.println("Root element of the document: " 
                        + docEle.getNodeName());  
 
                NodeList studentList = docEle.getElementsByTagName("student");  
 
                // Print total student elements in document  
                System.out  
                        .println("Total students: " + studentList.getLength());  
 
                if (studentList != null && studentList.getLength() > 0) {  
                    for (int i = 0; i < studentList.getLength(); i++) {  
 
                        Node node = studentList.item(i);  
 
                        if (node.getNodeType() == Node.ELEMENT_NODE) {  
 
                            System.out  
                                    .println("=====================");  
 
                            Element e = (Element) node;  
                            NodeList nodeList = e.getElementsByTagName("name");  
                            System.out.println("Name: " 
                                    + nodeList.item(0).getChildNodes().item(0)  
                                            .getNodeValue());  
 
                            nodeList = e.getElementsByTagName("grade");  
                            System.out.println("Grade: " 
                                    + nodeList.item(0).getChildNodes().item(0)  
                                            .getNodeValue());  
 
                            nodeList = e.getElementsByTagName("age");  
                            System.out.println("Age: " 
                                    + nodeList.item(0).getChildNodes().item(0)  
                                            .getNodeValue());  
                        }  
                    }  
                } else {  
                    System.exit(1);  
                }  
            }  
        } catch (Exception e) {  
            System.out.println(e);  
        }  
    }  
    public static void main(String[] args) {  
 
        XMLParser parser = new XMLParser();  
        parser.getAllUserNames("c:\\test.xml");  
    }  



package net.viralpatel.java.xmlparser;

import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class XMLParser {

public void getAllUserNames(String fileName) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
File file = new File(fileName);
if (file.exists()) {
Document doc = db.parse(file);
Element docEle = doc.getDocumentElement();

// Print root element of the document
System.out.println("Root element of the document: "
+ docEle.getNodeName());

NodeList studentList = docEle.getElementsByTagName("student");

// Print total student elements in document
System.out
.println("Total students: " + studentList.getLength());

if (studentList != null && studentList.getLength() > 0) {
for (int i = 0; i < studentList.getLength(); i++) {

Node node = studentList.item(i);

if (node.getNodeType() == Node.ELEMENT_NODE) {

System.out
.println("=====================");

Element e = (Element) node;
NodeList nodeList = e.getElementsByTagName("name");
System.out.println("Name: "
+ nodeList.item(0).getChildNodes().item(0)
.getNodeValue());

nodeList = e.getElementsByTagName("grade");
System.out.println("Grade: "
+ nodeList.item(0).getChildNodes().item(0)
.getNodeValue());

nodeList = e.getElementsByTagName("age");
System.out.println("Age: "
+ nodeList.item(0).getChildNodes().item(0)
.getNodeValue());
}
}
} else {
System.exit(1);
}
}
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) {

XMLParser parser = new XMLParser();
parser.getAllUserNames("c:\\test.xml");
}
}
17. Convert Array to Map in Java
view plaincopy to clipboardprint?
 
import java.util.Map;  
import org.apache.commons.lang.ArrayUtils;  
 
public class Main {  
 
  public static void main(String[] args) {  
    String[][] countries = { { "United States", "New York" }, { "United Kingdom", "London" },  
        { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } };  
 
    Map countryCapitals = ArrayUtils.toMap(countries);  
 
    System.out.println("Capital of Japan is " + countryCapitals.get("Japan"));  
    System.out.println("Capital of France is " + countryCapitals.get("France"));  
  }  



import java.util.Map;
import org.apache.commons.lang.ArrayUtils;

public class Main {

  public static void main(String[] args) {
    String[][] countries = { { "United States", "New York" }, { "United Kingdom", "London" },
        { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } };

    Map countryCapitals = ArrayUtils.toMap(countries);

    System.out.println("Capital of Japan is " + countryCapitals.get("Japan"));
    System.out.println("Capital of France is " + countryCapitals.get("France"));
  }
}
18. Send Email using Java
view plaincopy to clipboardprint?
 
import javax.mail.*;  
import javax.mail.internet.*;  
import java.util.*;  
 
public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException  
{  
    boolean debug = false;  
 
     //Set the host smtp address  
     Properties props = new Properties();  
     props.put("mail.smtp.host", "smtp.example.com");  
 
    // create some properties and get the default Session  
    Session session = Session.getDefaultInstance(props, null);  
    session.setDebug(debug);  
 
    // create a message  
    Message msg = new MimeMessage(session);  
 
    // set the from and to address  
    InternetAddress addressFrom = new InternetAddress(from);  
    msg.setFrom(addressFrom);  
 
    InternetAddress[] addressTo = new InternetAddress[recipients.length];  
    for (int i = 0; i < recipients.length; i++)  
    {  
        addressTo[i] = new InternetAddress(recipients[i]);  
    }  
    msg.setRecipients(Message.RecipientType.TO, addressTo);  
 
    // Optional : You can also set your custom headers in the Email if you Want  
    msg.addHeader("MyHeaderName", "myHeaderValue");  
 
    // Setting the Subject and Content Type  
    msg.setSubject(subject);  
    msg.setContent(message, "text/plain");  
    Transport.send(msg);  



import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
{
    boolean debug = false;

     //Set the host smtp address
     Properties props = new Properties();
     props.put("mail.smtp.host", "smtp.example.com");

    // create some properties and get the default Session
    Session session = Session.getDefaultInstance(props, null);
    session.setDebug(debug);

    // create a message
    Message msg = new MimeMessage(session);

    // set the from and to address
    InternetAddress addressFrom = new InternetAddress(from);
    msg.setFrom(addressFrom);

    InternetAddress[] addressTo = new InternetAddress[recipients.length];
    for (int i = 0; i < recipients.length; i++)
    {
        addressTo[i] = new InternetAddress(recipients[i]);
    }
    msg.setRecipients(Message.RecipientType.TO, addressTo);

    // Optional : You can also set your custom headers in the Email if you Want
    msg.addHeader("MyHeaderName", "myHeaderValue");

    // Setting the Subject and Content Type
    msg.setSubject(subject);
    msg.setContent(message, "text/plain");
    Transport.send(msg);
}
19. Send HTTP request & fetching data using Java
view plaincopy to clipboardprint?
 
import java.io.BufferedReader;  
import java.io.InputStreamReader;  
import java.net.URL;  
 
public class Main {  
    public static void main(String[] args)  {  
        try {  
            URL my_url = new URL("http://www.viralpatel.net/blogs/");  
            BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));  
            String strTemp = "";  
            while(null != (strTemp = br.readLine())){  
            System.out.println(strTemp);  
        }  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
    }  



import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

public class Main {
public static void main(String[] args)  {
try {
URL my_url = new URL("http://www.viralpatel.net/blogs/");
BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));
String strTemp = "";
while(null != (strTemp = br.readLine())){
System.out.println(strTemp);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
20. Resize an Array in Java
view plaincopy to clipboardprint?
 
/** 
* Reallocates an array with a new size, and copies the contents 
* of the old array to the new array. 
* @param oldArray  the old array, to be reallocated. 
* @param newSize   the new array size. 
* @return          A new array with the same contents. 
*/ 
private static Object resizeArray (Object oldArray, int newSize) {  
   int oldSize = java.lang.reflect.Array.getLength(oldArray);  
   Class elementType = oldArray.getClass().getComponentType();  
   Object newArray = java.lang.reflect.Array.newInstance(  
         elementType,newSize);  
   int preserveLength = Math.min(oldSize,newSize);  
   if (preserveLength > 0)  
      System.arraycopy (oldArray,0,newArray,0,preserveLength);  
   return newArray;  
}  
 
// Test routine for resizeArray().  
public static void main (String[] args) {  
   int[] a = {1,2,3};  
   a = (int[])resizeArray(a,5);  
   a[3] = 4;  
   a[4] = 5;  
   for (int i=0; i<a.length; i++)  
      System.out.println (a[i]);  

A nice tool for java developer -Thumbnailator

A nice tool for java developer -Thumbnailator

Create a thumbnail from an image file

Thumbnails.of(new File("original.jpg"))
       
.size(160, 160)
       
.toFile(new File("thumbnail.jpg"));

In this example, the image from original.jpg is resized, and then saved to thumbnail.jpg.

Alternatively, Thumbnailator will accept file names as a String. Using File objects to specify image files is not required:

Thumbnails.of("original.jpg")
       
.size(160, 160)
       
.toFile("thumbnail.jpg");

This form can be useful when writing quick prototype code, or when Thumbnailator is being used from scripting languages.

Create a thumbnail with rotation and a watermark

Thumbnails.of(new File("original.jpg"))
       
.size(160, 160)
       
.rotate(90)
       
.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f)
       
.outputQuality(0.8f)
       
.toFile(new File("image-with-watermark.jpg"));

In this example, the image from original.jpg is resized, then rotated to clockwise by 90 degrees, then a watermark is placed at the bottom right-hand corner which is half transparent, then is saved to image-with-watermark.jpg with 80% compression quality settings.

Create a thumbnail and write to an OutputStream

OutputStream os = ...;
               
Thumbnails.of("large-picture.jpg")
       
.size(200, 200)
       
.outputFormat("png")
       
.toOutputStream(os);

In this example, an image from the file large-picture.jpg is resized to a maximum dimension of 200 x 200 (maintaining the aspect ratio of the original image) and writes the that to the specified OutputStream as a PNG image.

Creating fixed-size thumbnails

BufferedImage originalImage = ImageIO.read(new File("original.png"));

BufferedImage thumbnail = Thumbnails.of(originalImage)
       
.size(200, 200)
       
.asBufferedImage();

The above code takes an image in originalImage and creates a 200 pixel by 200 pixel thumbnail using and stores the result in thumbnail.

Scaling an image by a given factor

BufferedImage originalImage = ImageIO.read(new File("original.png"));

BufferedImage thumbnail = Thumbnails.of(originalImage)
       
.scale(0.25f)
       
.asBufferedImage();

The above code takes the image in originalImage and creates a thumbnail that is 25% of the original image, and uses the default scaling technique in order to make the thumbnail which is stored in thumbnail.

Rotating an image when creating a thumbnail

BufferedImage originalImage = ImageIO.read(new File("original.jpg"));

BufferedImage thumbnail = Thumbnails.of(originalImage)
       
.size(200, 200)
       
.rotate(90)
       
.asBufferedImage();

The above code takes the original image and creates a thumbnail which is rotated clockwise by 90 degrees.

Creating a thumbnail with a watermark

BufferedImage originalImage = ImageIO.read(new File("original.jpg"));
BufferedImage watermarkImage = ImageIO.read(new File("watermark.png"));

BufferedImage thumbnail = Thumbnails.of(originalImage)
       
.size(200, 200)
       
.watermark(Positions.BOTTOM_RIGHT, watermarkImage, 0.5f)
       
.asBufferedImage();

As shown, a watermark can be added to an thumbnail by calling the watermark method.

c# – 在foreach-loop中创建许多DropDownListFor

c# – 在foreach-loop中创建许多DropDownListFor

参见英文答案 > DropDownListFor does not select value if in for loop6个
> How to set default value to select list in MVC during run time2个
我想从List中动态创建DropDownLists,它提供SelectList和一个保存选择的字段.
public class viewmodel
{
    public List<Material_Select> materialSelect { get; set; }
}

public class Material_Select
{
    public SelectList selectList { get; set; }
    public int MaterialId { get; set; }
}

在视图中,我想循环遍历materialSelect List并动态创建DropDownLists.

像这样的东西:

int count = 0;
foreach (var item in Model.materialSelect)
{
    count++;
    <div>
        @Html.LabelFor(model => model.materialSelect)
    </div>
    <div>
        @Html.DropDownListFor(item.MaterialId,item.selectList)
    </div>       
}

在HttpPost ActionResult我需要获取选定的值.有谁知道如何解决这个问题?

解决方法

你可能应该使用 EditorTemplates.这些允许你疯狂地做你所描述的.如果在〜/ Views / Shared / EditorTemplates / Material_Select.cshtml中创建强类型的局部视图(视图必须与模型命名相同),如下所示:
@model Material_Select

<div>
    @Html.LabelFor(m => m.MaterialId)
</div>
<div>
    @Html.DropDownListFor(m => m.MaterialId,Model.selectList)
</div>

然后在您的整体表格中,您可以致电:

@Html.EditorFor(m => m.materialSelect)

这将自动枚举您的集合并为集合中的每个项目呈现编辑器模板.

com.sun.tools.javac.tree.JCTree.JCEnhancedForLoop的实例源码

com.sun.tools.javac.tree.JCTree.JCEnhancedForLoop的实例源码

项目:incubator-netbeans    文件:CasualDiff.java   
protected int diffForeachLoop(JCEnhancedForLoop oldT,JCEnhancedForLoop newT,int[] bounds) {
    int localPointer = bounds[0];
    // variable
    int[] varBounds = getBounds(oldT.var);
    copyTo(localPointer,varBounds[0]);
    localPointer = diffTree(oldT.var,newT.var,varBounds);
    // expression
    int[] exprBounds = getBounds(oldT.expr);
    copyTo(localPointer,exprBounds[0]);
    localPointer = diffTree(oldT.expr,newT.expr,exprBounds);
    // body
    int[] bodyBounds = new int[] { localPointer,endPos(oldT.body) };
    int oldindent = newT.body.hasTag(Tag.BLOCK) ? -1 : printer.indent();
    localPointer = diffTree(oldT.body,newT.body,bodyBounds,oldT.getKind());
    if (!newT.body.hasTag(Tag.BLOCK))
        printer.undent(oldindent);
    copyTo(localPointer,bounds[1]);

    return bounds[1];
}
项目:lombok-ianchiu    文件:PrettyPrinter.java   
@Override public void visitForeachLoop(JCEnhancedForLoop tree) {
    aPrint("for (");
    printvarDefInline(tree.var);
    print(" : ");
    print(tree.expr);
    print(") ");
    print(tree.body);
}
项目:javaparser2jctree    文件:PrintAstVisitor.java   
public void visitForeachLoop(JCEnhancedForLoop that) {
    try {
        print("JCEnhancedForLoop:");
    } catch (Exception e) {
    }
    super.visitForeachLoop(that);
}
项目:EasyMPermission    文件:PrettyCommentsPrinter.java   
public void visitForeachLoop(JCEnhancedForLoop tree) {
    try {
        print("for (");
        printExpr(tree.var);
        print(" : ");
        printExpr(tree.expr);
        print(") ");
        printStat(tree.body);
    } catch (IOException e) {
        throw new UncheckedioException(e);
    }
}
项目:refactor-faster    文件:UEnhancedForLoop.java   
@Override
public JCEnhancedForLoop inline(Inliner inliner) throws CouldNotResolveImportException {
  return inliner.maker().ForeachLoop(
      getvariable().inline(inliner),getExpression().inline(inliner),getStatement().inline(inliner));
}
项目:android-retrolambda-lombok    文件:JcTreePrinter.java   
@Override public void visitForeachLoop(JCEnhancedForLoop tree) {
    printNode(tree);
    child("var",tree.var);
    child("expr",tree.expr);
    child("body",tree.body);
    indent--;
}
项目:android-retrolambda-lombok    文件:JcTreeConverter.java   
@Override public void visitForeachLoop(JCEnhancedForLoop node) {
    ForEach fe = new ForEach();
    fe.rawIterable(toTree(node.getExpression()));
    fe.rawStatement(toTree(node.getStatement()));
    fe.rawVariable(toTree(node.getvariable(),FlagKey.VARDEF_IS_DEFinitioN));
    set(node,fe);
}
项目:error-prone    文件:UEnhancedForLoop.java   
@Override
public JCEnhancedForLoop inline(Inliner inliner) throws CouldNotResolveImportException {
  return inliner
      .maker()
      .ForeachLoop(
          getvariable().inline(inliner),getStatement().inline(inliner));
}
项目:error-prone    文件:PlaceholderUnificationVisitor.java   
@Override
public Choice<State<JCEnhancedForLoop>> visitEnhancedForLoop(
    final EnhancedForLoopTree node,State<?> state) {
  return chooseSubtrees(
      state,s -> unifyExpression(node.getExpression(),s),s -> unifyStatement(node.getStatement(),(expr,stmt) -> maker().ForeachLoop((JCVariableDecl) node.getvariable(),expr,stmt));
}
项目:s4j    文件:Pretty.java   
public void visitForeachLoop(JCEnhancedForLoop tree) {
    try {
        print("for (");
        printExpr(tree.var);
        print(" : ");
        printExpr(tree.expr);
        print(") ");
        printStat(tree.body);
    } catch (IOException e) {
        throw new UncheckedioException(e);
    }
}
项目:s4j    文件:Attr.java   
public void visitForeachLoop(JCEnhancedForLoop tree) {
    Env<AttrContext> loopEnv =
        env.dup(env.tree,env.info.dup(env.info.scope.dup()));
    attribStat(tree.var,loopEnv);
    Type exprType = types.upperBound(attribExpr(tree.expr,loopEnv));
    chk.checkNonVoid(tree.pos(),exprType);
    Type elemtype = types.elemtype(exprType); // perhaps expr is an array?
    if (elemtype == null) {
        // or perhaps expr implements Iterable<T>?
        Type base = types.asSuper(exprType,syms.iterableType.tsym);
        if (base == null) {
            log.error(tree.expr.pos(),"foreach.not.applicable.to.type",exprType,diags.fragment("type.req.array.or.iterable"));
            elemtype = types.createErrorType(exprType);
        } else {
            List<Type> iterableParams = base.allparams();
            elemtype = iterableParams.isEmpty()
                ? syms.objectType
                : types.upperBound(iterableParams.head);
        }
    }
    chk.checkType(tree.expr.pos(),elemtype,tree.var.sym.type);
    loopEnv.tree = tree; // before,we were not in loop!
    attribStat(tree.body,loopEnv);
    loopEnv.info.scope.leave();
    result = null;
}
项目:Refaster    文件:UEnhancedForLoop.java   
@Override
public JCEnhancedForLoop inline(Inliner inliner) throws CouldNotResolveImportException {
  return inliner.maker().ForeachLoop(
      getvariable().inline(inliner),getStatement().inline(inliner));
}
项目:lombok    文件:PrettyCommentsPrinter.java   
public void visitForeachLoop(JCEnhancedForLoop tree) {
    try {
        print("for (");
        printExpr(tree.var);
        print(" : ");
        printExpr(tree.expr);
        print(") ");
        printStat(tree.body);
    } catch (IOException e) {
        throw new UncheckedioException(e);
    }
}
项目:incubator-netbeans    文件:CasualDiff.java   
private boolean matchForeachLoop(JCEnhancedForLoop t1,JCEnhancedForLoop t2) {
    return treesMatch(t1.var,t2.var) && treesMatch(t1.expr,t2.expr) &&
           treesMatch(t1.body,t2.body);
}
项目:openjdk-jdk10    文件:Analyzer.java   
@Override
public void visitForeachLoop(JCEnhancedForLoop tree) {
    //skip body (to prevents same statements to be analyzed twice)
    scan(tree.getExpression());
}
项目:openjdk9    文件:Analyzer.java   
@Override
public void visitForeachLoop(JCEnhancedForLoop tree) {
    scan(tree.getExpression());
}
项目:lombok-ianchiu    文件:JavacTreeMaker.java   
public JCEnhancedForLoop ForeachLoop(JCVariableDecl var,JCExpression expr,JCStatement body) {
    return invoke(ForeachLoop,var,body);
}
项目:javaparser2jctree    文件:AJCEnhancedForLoop.java   
public AJCEnhancedForLoop(JCEnhancedForLoop ltree) {
    super(ltree.var,ltree.expr,ltree.body);
}
项目:javaparser2jctree    文件:AJCEnhancedForLoop.java   
public AJCEnhancedForLoop(JCEnhancedForLoop ltree,String lcomment) {
    this(ltree);
    setComment(lcomment);
}
项目:EasyMPermission    文件:JavacTreeMaker.java   
public JCEnhancedForLoop ForeachLoop(JCVariableDecl var,body);
}

我们今天的关于Java for Loop评估java评价的分享就到这里,谢谢您的阅读,如果想了解更多关于20 very useful Java code snippets for Java Develop、A nice tool for java developer -Thumbnailator、c# – 在foreach-loop中创建许多DropDownListFor、com.sun.tools.javac.tree.JCTree.JCEnhancedForLoop的实例源码的相关信息,可以在本站进行搜索。

本文标签: