首页 > C风格编程语言 > JAVA编程资料 > Java中的文件操作大全(每贴更新5个)
2009
04-09

Java中的文件操作大全(每贴更新5个)

1.创建文件夹
  File myFolderPath = new File(%%1);
try {
  if (!myFolderPath.exists()) {
     myFolderPath.mkdir();
  }
}
catch (Exception e) {
  System.out.println(“新建目录操作出错”);
  e.printStackTrace();
}


2.创建文件
  File myFilePath = new File(%%1);
try {
  if (!myFilePath.exists()) {
myFilePath.createNewFile();
  }
  FileWriter resultFile = new FileWriter(myFilePath);
  PrintWriter myFile = new PrintWriter(resultFile);
  myFile.println(%%2);
  resultFile.close();
}
catch (Exception e) {
  System.out.println(“新建文件操作出错”);
  e.printStackTrace();
}


3.删除文件
  File myDelFile = new File(%%1);
try {
  myDelFile.delete();
}
catch (Exception e) {
  System.out.println(“删除文件操作出错”);
  e.printStackTrace();
}


4.删除文件夹
  File delFolderPath = new File(%%1);
try {
  delFolderPath.delete(); //删除空文件夹
}
catch (Exception e) {
  System.out.println(“删除文件夹操作出错”);
  e.printStackTrace();
}


5.删除一个文件下夹所有的文件夹
File delfile=new File(%%1);
File[] files=delfile.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
files[i].delete();
    }
}


Java中的文件操作大全(每贴更新5个)》有 8 条评论

  1. hias_asia 说:

    6.清空文件夹
    File delfilefolder=new File(%%1);
    try {
      if (!delfilefolder.exists()) {
    delfilefolder.delete();
      }
    delfilefolder.mkdir();
      }
    catch (Exception e) {
      System.out.println(“清空目录操作出错”);
      e.printStackTrace();
    }

    7.读取文件
    // 逐行读取数据
    FileReader fr = new FileReader(%%1);
    BufferedReader br = new BufferedReader(fr);
    String %%2 = br.readLine();
    while (%%2 != null) {
    %%3
    %%2 = br.readLine();
    }
    br.close();
    fr.close();

    8.写入文件
    // 将数据写入文件
    FileWriter fw = new FileWriter(%%1);
    fw.write(%%2);
    fw.close();

    9.写入随机文件
    try {
    RandomAcessFile logFile=new RandomAcessFile(%%1,”rw”);
    long lg=logFile.length();
    logFile.seek(%%2);
    logFile.writeByte(%%3);
    }catch(IOException ioe){
    System.out.println(“无法写入文件:”+ioe.getMessage());
    }

    10.读取文件属性
    // 文件属性的取得
    File af = new File(%%1);
    if (af.exists()) {
    System.out.println(f.getName() + “的属性如下: 文件长度为:” + f.length());
    System.out.println(f.isFile() ? “是文件” : “不是文件”);
    System.out.println(f.isDirectory() ? “是目录” : “不是目录”);
    System.out.println(f.canRead() ? “可读取” : “不”);
    System.out.println(f.canWrite() ? “是隐藏文件” : “”);
    System.out.println(“文件夹的最后修改日期为:” + new Date(f.lastModified()));
    } else {
    System.out.println(f.getName() + “的属性如下:”);
    System.out.println(f.isFile() ? “是文件” : “不是文件”);
    System.out.println(f.isDirectory() ? “是目录” : “不是目录”);
    System.out.println(f.canRead() ? “可读取” : “不”);
    System.out.println(f.canWrite() ? “是隐藏文件” : “”);
    System.out.println(“文件的最后修改日期为:” + new Date(f.lastModified()));
    }
    if(f.canRead()){
    %%2
    }
    if(f.canWrite()){
    %%3
    }

  2. hias_asia 说:

    11.写入属性
    File filereadonly=new File(%%1);
    try {
    boolean b=filereadonly.setReadOnly();
    }
    catch (Exception e) {
    System.out.println(“拒绝写访问:”+e.printStackTrace());
    }

    12.枚举一个文件夹中的所有文件夹
    ArrayList
    <String>
    folderList=new ArrayList
    <String>
    ();
    folderList.add(%%1);
    for(int j=0;j<folderList.length;j++){
    File file=new File(folderList[i]);
    File[] files=file.listFiles();
    ArrayList
    <File>
    fileList=new ArrayList
    <File>
    ();
    for(int i=0;i<files.length;i++){
    if(files[i].isDirectory()){
    folderList.add(files[i]);
    }
    else{
    fileList.add(files[i].getPath());
    }
    }
    for(File f:fileList){
    %%2=f.toString();
    %%3
    }
    }

    13.复制文件夹
    ArrayList
    <String>
    folderList=new ArrayList
    <String>
    ();
    folderList.add(%%1);
    ArrayList
    <String>
    folderList2=new ArrayList
    <String>
    ();
    folderList2.add(%%2);
    for(int j=0;j<folderList.length;j++){
        (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹
        File folders=new File(folderList[j]);
        String[] file=folders.list();
        File temp=null;
        try {
          for (int i = 0; i < file.length; i++) {
            if(folderList[j].endsWith(File.separator)){
              temp=new File(folderList[j]+”/”+file[i]);
            }
            else{
              temp=new File(folderList[j]+”/”+File.separator+file[i]);
            }
              FileInputStream input = new FileInputStream(temp);
            if(temp.isFile()){
              FileInputStream input = new FileInputStream(temp);
              FileOutputStream output = new FileOutputStream(folderList2[j] + “/” +
                  (temp.getName()).toString());
              byte[] b = new byte[5120];
              int len;
              while ( (len = input.read(b)) != -1) {
                output.write(b, 0, len);
              }
              output.flush();
              output.close();
              input.close();
            }
            if(temp.isDirectory()){//如果是子文件夹
              folderList.add(folderList[j]+”/”+file[i]);
              folderList2.add(folderList2[j]+”/”+file[i]);
            }
          }
        }
        catch (Exception e) {
          System.out.println(“复制整个文件夹内容操作出错”);
          e.printStackTrace();
        }
    }

    14.复制一个文件夹下所有的文件夹到另一个文件夹下
    File copyfolders=new File(%%1);
    File[] copyfoldersList=copyfolders.listFiles();
    for(int k=0;k<copyfoldersList.length;k++){
    if(copyfoldersList[k].isDirectory()){
    ArrayList
    <String>
    folderList=new ArrayList
    <String>
    ();
    folderList.add(copyfoldersList[k].getPath());
    ArrayList
    <String>
    folderList2=new ArrayList
    <String>
    ();
    folderList2.add(%%2+”/”+copyfoldersList[k].getName());
    for(int j=0;j<folderList.length;j++){
        (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹
        File folders=new File(folderList[j]);
        String[] file=folders.list();
        File temp=null;
        try {
          for (int i = 0; i < file.length; i++) {
            if(folderList[j].endsWith(File.separator)){
              temp=new File(folderList[j]+”/”+file[i]);
            }
            else{
              temp=new File(folderList[j]+”/”+File.separator+file[i]);
            }
              FileInputStream input = new FileInputStream(temp);
            if(temp.isFile()){
              FileInputStream input = new FileInputStream(temp);
              FileOutputStream output = new FileOutputStream(folderList2[j] + “/” +
                  (temp.getName()).toString());
              byte[] b = new byte[5120];
              int len;
              while ( (len = input.read(b)) != -1) {
                output.write(b, 0, len);
              }
              output.flush();
              output.close();
              input.close();
            }
            if(temp.isDirectory()){//如果是子文件夹
              folderList.add(folderList[j]+”/”+file[i]);
              folderList2.add(folderList2[j]+”/”+file[i]);
            }
          }
        }
        catch (Exception e) {
          System.out.println(“复制整个文件夹内容操作出错”);
          e.printStackTrace();
        }
    }
    }
    }

    15.移动文件夹
    ArrayList
    <String>
    folderList=new ArrayList
    <String>
    ();
    folderList.add(%%1);
    ArrayList
    <String>
    folderList2=new ArrayList
    <String>
    ();
    folderList2.add(%%2);
    for(int j=0;j<folderList.length;j++){
        (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹
        File folders=new File(folderList[j]);
        String[] file=folders.list();
        File temp=null;
        try {
          for (int i = 0; i < file.length; i++) {
            if(folderList[j].endsWith(File.separator)){
              temp=new File(folderList[j]+”/”+file[i]);
            }
            else{
              temp=new File(folderList[j]+”/”+File.separator+file[i]);
            }
              FileInputStream input = new FileInputStream(temp);
            if(temp.isFile()){
              FileInputStream input = new FileInputStream(temp);
              FileOutputStream output = new FileOutputStream(folderList2[j] + “/” +
                  (temp.getName()).toString());
              byte[] b = new byte[5120];
              int len;
              while ( (len = input.read(b)) != -1) {
                output.write(b, 0, len);
              }
              output.flush();
              output.close();
              input.close();
            }
            if(temp.isDirectory()){//如果是子文件夹
              folderList.add(folderList[j]+”/”+file[i]);
              folderList2.add(folderList2[j]+”/”+file[i]);
            }
          }
        }
        catch (Exception e) {
          System.out.println(“复制整个文件夹内容操作出错”);
          e.printStackTrace();
        }
    }
    File movefile=new File(%%1);
    File[] movefiles=movefile.listFiles();
    for(int i=0;i<files.length;i++){
    if(files[i].isDirectory()){
    files[i].delete();
        }
    }
    movefile.delete();

  3. hias_asia 说:

    15.移动一个文件夹下所有的文件夹到另一个目录下
    File movefolders=new File(%%1);
    File[] movefoldersList=movefolders.listFiles();
    for(int k=0;k<movefoldersList.length;k++){
    if(movefoldersList[k].isDirectory()){
    ArrayList
    <String>
    folderList=new ArrayList
    <String>
    ();
    folderList.add(movefoldersList[k].getPath());
    ArrayList
    <String>
    folderList2=new ArrayList
    <String>
    ();
    folderList2.add(%%2+”/”+movefoldersList[k].getName());
    for(int j=0;j<folderList.length;j++){
        (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹
        File folders=new File(folderList[j]);
        String[] file=folders.list();
        File temp=null;
        try {
          for (int i = 0; i < file.length; i++) {
            if(folderList[j].endsWith(File.separator)){
              temp=new File(folderList[j]+”/”+file[i]);
            }
            else{
              temp=new File(folderList[j]+”/”+File.separator+file[i]);
            }
              FileInputStream input = new FileInputStream(temp);
            if(temp.isFile()){
              FileInputStream input = new FileInputStream(temp);
              FileOutputStream output = new FileOutputStream(folderList2[j] + “/” +
                  (temp.getName()).toString());
              byte[] b = new byte[5120];
              int len;
              while ( (len = input.read(b)) != -1) {
                output.write(b, 0, len);
              }
              output.flush();
              output.close();
              input.close();
    temp.delete();
            }
            if(temp.isDirectory()){//如果是子文件夹
              folderList.add(folderList[j]+”/”+file[i]);
              folderList2.add(folderList2[j]+”/”+file[i]);
            }
          }
        }
        catch (Exception e) {
          System.out.println(“复制整个文件夹内容操作出错”);
          e.printStackTrace();
        }
    }
    movefoldersList[k].delete();
    }
    }

    16.以一个文件夹的框架在另一个目录创建文件夹和空文件
    ArrayList
    <String>
    folderList=new ArrayList
    <String>
    ();
    folderList.add(%%1);
    ArrayList
    <String>
    folderList2=new ArrayList
    <String>
    ();
    folderList2.add(%%2);
    for(int j=0;j<folderList.length;j++){
        (new File(folderList2[j])).mkdirs(); //如果文件夹不存在 则建立新文件夹
        File folders=new File(folderList[j]);
        String[] file=folders.list();
        File temp=null;
        try {
          for (int i = 0; i < file.length; i++) {
            if(folderList[j].endsWith(File.separator)){
              temp=new File(folderList[j]+”/”+file[i]);
            }
            else{
              temp=new File(folderList[j]+”/”+File.separator+file[i]);
            }
              FileInputStream input = new FileInputStream(temp);
            if(temp.isFile()){
      if (!temp.exists()) {
    temp.createNewFile();
      }
            }
            if(temp.isDirectory()){//如果是子文件夹
              folderList.add(folderList[j]+”/”+file[i]);
              folderList2.add(folderList2[j]+”/”+file[i]);
            }
          }
        }
        catch (Exception e) {
          System.out.println(“复制整个文件夹内容操作出错”);
          e.printStackTrace();
        }
    }

    17.复制文件
          int bytesum = 0;
          int byteread = 0;
          File oldfile = new File(%%1);
        try {
          if (oldfile.exists()) { //文件存在时
            InputStream inStream = new FileInputStream(oldfile); //读入原文件
            FileOutputStream fs = new FileOutputStream(new File(%%2,oldfile.getName()));
            byte[] buffer = new byte[5120];
            int length;
            while ( (byteread = inStream.read(buffer)) != -1) {
              bytesum += byteread; //字节数 文件大小
              System.out.println(bytesum);
              fs.write(buffer, 0, byteread);
            }
            inStream.close();
          }
        }
        catch (Exception e) {
          System.out.println(“复制单个文件操作出错”);
          e.printStackTrace();
        }

    18.复制一个文件夹下所有的文件到另一个目录
    File copyfiles=new File(%%1);
    File[] files=copyfiles.listFiles();
    for(int i=0;i<files.length;i++){
    if(!files[i].isDirectory()){
          int bytesum = 0;
          int byteread = 0;
        try {
            InputStream inStream = new FileInputStream(files[i]); //读入原文件
            FileOutputStream fs = new FileOutputStream(new File(%%2,files[i].getName());
            byte[] buffer = new byte[5120];
            int length;
            while ( (byteread = inStream.read(buffer)) != -1) {
              bytesum += byteread; //字节数 文件大小
              System.out.println(bytesum);
              fs.write(buffer, 0, byteread);
            }
            inStream.close();
        }
        catch (Exception e) {
          System.out.println(“复制单个文件操作出错”);
          e.printStackTrace();
        }
    }
    }

    19.提取扩展名
    String %%2=(new File(%%1)).getName().split(“.”)[1];

    20.提取文件名
    String %%2=(new File(%%1)).getName().split(“//”)[1];

  4. hias_asia 说:

    21.提取文件路径
    String %%2=(new File(%%1)).getPath();

    22.替换扩展名
    File replaceExt=new File(%%1);
    replaceExt.renameTo(replaceExt.getName().split(“.”)[0]+”.”+%%2);

    23.追加路径
    %%3=%%2+”/”+%%1

    24.移动文件
          int bytesum = 0;
          int byteread = 0;
          File oldfile = new File(%%1);
        try {
          if (oldfile.exists()) { //文件存在时
            InputStream inStream = new FileInputStream(oldfile); //读入原文件
            FileOutputStream fs = new FileOutputStream(new File(%%2,oldfile.getName()));
            byte[] buffer = new byte[5120];
            int length;
            while ( (byteread = inStream.read(buffer)) != -1) {
              bytesum += byteread; //字节数 文件大小
              //System.out.println(bytesum);
              fs.write(buffer, 0, byteread);
            }
            inStream.close();
    oldfile.delete();
          }
        }
        catch (Exception e) {
          System.out.println(“复制单个文件操作出错”);
          e.printStackTrace();
        }

    25.移动一个文件夹下所有文件到另一个目录
    File movefile=new File(%%1);
    File[] movefiles=movefile.listFiles();
    for(int i=0;i<movefiles.length;i++){
    if(movefiles[i].isFile()){
          int bytesum = 0;
          int byteread = 0;
          File oldfile = new File(movefiles[i]);
        try {
          if (oldfile.exists()) { //文件存在时
            InputStream inStream = new FileInputStream(oldfile); //读入原文件
            FileOutputStream fs = new FileOutputStream(new File(%%2,oldfile.getName()));
            byte[] buffer = new byte[5120];
            int length;
            while ( (byteread = inStream.read(buffer)) != -1) {
              bytesum += byteread; //字节数 文件大小
              //System.out.println(bytesum);
              fs.write(buffer, 0, byteread);
            }
            inStream.close();
    oldfile.delete();
          }
        }
        catch (Exception e) {
          System.out.println(“复制单个文件操作出错”);
          e.printStackTrace();
        }
    }
    }

  5. hias_asia 说:

    31.文件简单解密
    //import java.io.*
    try {
    File f=new File(%%1);
    String strFileName = f.getName();
    FileInputStream fileInputStream = new FileInputStream(%%2+”\\enc_”+strFilename);
    byte[] buffer = new byte[fileInputStream.available()];
    FileInputStream.read(buffer);
    fileInputStream.close();
    for(int i=0;i<buffer.length;i++)
    {
    int ibt=buffer[i];
    ibt-=100;
    ibt+=256;
    ibt%=256;
    buffer[i]=(byte)ibt;
    }
    FileOutputStream fileOutputStream = new FileOutputStream(f);
    fileOutputStream.write(buffer,0,buffer.length);
    fileOutputStream.close();
    }
    catch(ArrayIndexOutOfBoundException e){
    e.printStackTrace();
    }
    catch(IOException e){
    e.printStackTrace();
    }

    32.读取ini文件属性
    //import java.io.*
    //import java.util.*;
    //import java.util.regex.*;
    //private HashMap configMap=null;
    private Map configMap=null;
    if(configMap==null) {
    String strLine=null;
    String currentNode=null;
    String previousNode=null;
    Vector vec=new Vector();
    int row=0;
    FileReader fileReader = new FileReader(%%1);
    BufferedReader bufferedReader=new BufferedReader(fileReader);
    try {
    while((strLine=bufferedReader.readLine())!=null) {
    String oneLine=strLine.trim();
    if(oneLine.length()>=1) {
    Pattern p=Pattern.compile(“\\[\\s*.*\\s*\\]“);
    int nodelen=oneLine.split(“[;]“).length;
    String[] strArray1=new String[4];
    if(nodelen==1) {
    oneLine=oneLine.split(“[;]“)[0].trim();
    }
    else if(nodelen==2) {
    strArray1[3]=oneLine.split(“[;]“)[1].trim();
    oneLine=oneLine.split(“[;]“)[0].trim();
    }
    Matcher m=p.matche(oneLine);
    if(m.matches()) {
    strArray1[0]=”@Node”;
    strArray1[1]=oneLine;
    strArray1[2]=”";
    } else {
    int keylen=oneLine.split(“=”).length;
    if(keylen==1) {
    strArray1[0]=”@Key”;
    strArray1[1]=oneLine.split(“=”)[0];
    strArray1[2]=”";
    } else if(kenlen==2) {
    strArray1[0]=”@Key”;
    strArray1[1]=oneLine.split(“=”)[0];
    strArray1[2]=oneLine.split(“=”)[1];
    } else {
    strArray1[0]=”@ElementError”;
    strArray1[1]=”";
    strArray1[2]=”";
    strArray1[3]=”";
    }
    }
    if(strArray1[0].equals(“@Node”)) {
    previousNode=currentNode;
    currentNode=strArray1[1];
    if(row>0) {
    configMap.put(previousNode,vec.elementAt(0));
    //”size:”+configMap.size()
    vec.clear();
    row=0;
    }
    } else if(strArray1[0].equals(“@Key”) && row==0) {
    Properties ht=new Properties();
    ht.setProperty(strArray1[1],strArray1[2]);
    vec.add(0,ht);
    row++;
    }
    } else if(strArray1[0].equals(“@Key”) && row>0) {
    Properties ht2=new Properties();
    ht2.put(strArray1[1],strArray1[2]);
    vec.clear();
    vec.add(0,ht2);
    row++;
    }
    }
    }
    configMap.put(currentNode,vec.elementAt(0));
    } catch (FileNotFoundException e) {
    configMap=null;
    e.printStackTrace();
    } catch (IOException e) {
    configMap=null;
    e.printStackTrace();
    } finally {
    vec.clear();
    bufferedReader.close();
    fileReader.close();
    }
    }
    String nodeKey=”["+%%2+"]“;
    Properties ht=(Properties)configMap.get(nodeKey);
    //”ht:”+ht.toString()
    //”key:”+%%3
    CString %%4=null;
    if(ht.containsKey(%%3)) {
    try {
    %%4=ht.getProperty(%%3);
    } catch (NullPointException e) {
    e.printStackTrace();
    }
    }

    33.合并一个文件下所有的文件
    File combinefiles=new File(%%1);
    File[] files=combinefiles.listFiles();
    FileOutputStream fs;
    try {
    fs=new FileOutputStream(new File(%%2));
    }
    catch(IOException e){
    e.printStackTrace();
    }
    for(int i=0;i<files.length;i++){
    if(files[i].isFile()){
    int bytesum=0;
    int byteread=0;
    try {
    FileInputStream inStream=new FileInputStream(files[i]);
    byte[] buffer = new byte[5120];
    int length;
    while((byteread=inStream.read(buffer))!=-1){
    bytesum+=byteread;
    fs.write(buffer,0,byteread);
    }
    inStream.close();
    }
    catch(Exception e){
    //复制文件出错
    e.printStackTrace();
    }
    }
    }
    try {
    fs.close();
    }
    catch(IOException e){
    {
    e.printStackTrace();
    }

    34.写入ini文件属性
    //import java.io.*
    //import java.util.*;
    //import java.util.regex.*;
    //private HashMap configMap=null;
    private Map configMap=null;
    if(configMap==null) {
    String strLine=null;
    String currentNode=null;
    String previousNode=null;
    Vector vec=new Vector();
    int row=0;
    FileReader fileReader = new FileReader(%%1);
    BufferedReader bufferedReader=new BufferedReader(fileReader);
    try {
    while((strLine=bufferedReader.readLine())!=null) {
    String oneLine=strLine.trim();
    if(oneLine.length()>=1) {
    Pattern p=Pattern.compile(“\\[\\s*.*\\s*\\]“);
    int nodelen=oneLine.split(“[;]“).length;
    String[] strArray1=new String[4];
    if(nodelen==1) {
    oneLine=oneLine.split(“[;]“)[0].trim();
    }
    else if(nodelen==2) {
    strArray1[3]=oneLine.split(“[;]“)[1].trim();
    oneLine=oneLine.split(“[;]“)[0].trim();
    }
    Matcher m=p.matche(oneLine);
    if(m.matches()) {
    strArray1[0]=”@Node”;
    strArray1[1]=oneLine;
    strArray1[2]=”";
    } else {
    int keylen=oneLine.split(“=”).length;
    if(keylen==1) {
    strArray1[0]=”@Key”;
    strArray1[1]=oneLine.split(“=”)[0];
    strArray1[2]=”";
    } else if(kenlen==2) {
    strArray1[0]=”@Key”;
    strArray1[1]=oneLine.split(“=”)[0];
    strArray1[2]=oneLine.split(“=”)[1];
    } else {
    strArray1[0]=”@ElementError”;
    strArray1[1]=”";
    strArray1[2]=”";
    strArray1[3]=”";
    }
    }
    if(strArray1[0].equals(“@Node”)) {
    previousNode=currentNode;
    currentNode=strArray1[1];
    if(row>0) {
    configMap.put(previousNode,vec.elementAt(0));
    //”size:”+configMap.size()
    vec.clear();
    row=0;
    }
    } else if(strArray1[0].equals(“@Key”) && row==0) {
    Properties ht=new Properties();
    ht.setProperty(strArray1[1],strArray1[2]);
    vec.add(0,ht);
    row++;
    }
    } else if(strArray1[0].equals(“@Key”) && row>0) {
    Properties ht2=new Properties();
    ht2.put(strArray1[1],strArray1[2]);
    vec.clear();
    vec.add(0,ht2);
    row++;
    }
    }
    }
    configMap.put(currentNode,vec.elementAt(0));
    } catch (FileNotFoundException e) {
    configMap=null;
    e.printStackTrace();
    } catch (IOException e) {
    configMap=null;
    e.printStackTrace();
    } finally {
    vec.clear();
    bufferedReader.close();
    fileReader.close();
    }
    }
    String nodeKey=”["+%%2+"]“;
    Properties ht=null;
    if(configMap.containsKey(nodeKey)) {
    ht=(Properties)configMap.get(nodeKey);
    } else {
    ht=(Properties)configMap.get(nodeKey,%%3);
    }
    try {
    ht.setProperty(%%3,%%4);
    } catch (NullPointException e) {
    e.printStackTrace();
    }
    FileWriter fw = new FileWriter(%%1);
    BufferedWriter bw=new BufferedWriter(fw);
    Set keys=configMap.keySet();
    Iterator ite=keys.iterator();
    while(ite.hasNext()) {
    String oneKey=(String)ite.next();
    bw.WriteLine(oneKey);
    ht=(Properties)configMap.get(oneKey);
    ht.list(new PrintWriter(bw,true));
    }

    35.获得当前路径
    this.getClass().getResource(“/”).getPath()

  6. hias_asia 说:

    36.读取XML数据库
    //import java.io.*;
    //import javax.xml.parsers.*;
    //import org.xml.sax.*;
    //import org.w3c.dom.*;
    private Document document;
    File xml_file=new File(%%1);
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    try {
    DocumentBuilder builder=factory.newDocumentBuilder();
    document=builder.parse(xml_file);
    } catch(Exception e) {
    e.printStackTrace();
    }
    String subNodeTag=%%2;
    Element rootNode=document.getDocumentElement();
    //%%2=”serverList” //%%4=”id” //%%6=”port”
    //%%3=”server”  //%%5=”ipaddr”
    NodeList nlist=rootNode.getElementsByTagName(subNodeTag);
    int len=nlist.getLength();
    Node x=null;
    for(int i=0;i<len;i++) {
    x=nlist.item(i);
    String getNodeAttrValue=null;
    NamedNodeMap attrList=node.getAttributes();
    for(int j=0;j<attrList.getLength();j++) {
    if(attrList.item(j).getNodeName().compareTo(%%7)==0) {
    getNodeAttrValue=attrList.item(j).getNodeValue();
    break;
    }
    }
    if(getNodeAttrValue.compareTo(%%8)==0)
    break;
    }
    String %%9=null;
    if(x!=null) {
    NodeList nlist=node.getChildNodes();
    int len=nlist.getLength();
    Node currentNode;
    String nodeName;
    for(int i=0;i<len;i++) {
    currentNode=nlist.item(i);
    nodeName=currentNode.getNodeName();
    if(nodeName.equals(%%5)==0) {
    %%9=document.getElementValue(currentNode);
    break;
    }
    }
    }

    37.写入XML数据库
    //import java.io.*;
    //import javax.xml.parsers.*;
    //import org.xml.sax.*;
    //import org.w3c.dom.*;
    //import javax.xml.transform.*;
    //import javax.xml.transform.dom.*;
    //import javax.xml.transform.stream.*;
    private Document document;
    private Element node;
    File xml_file=new File(%%1);
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    try {
    DocumentBuilder builder=factory.newDocumentBuilder();
    document=builder.parse(xml_file);
    } catch(Exception e) {
    e.printStackTrace();
    }
    String subNodeTag=%%2;
    Element rootNode=document.getDocumentElement();
    //%%2=”serverList” //%%4=”id” //%%6=”port”
    //%%3=”server”  //%%5=”ipaddr”
    NodeList nlist=rootNode.getElementByTagName(subNodeTag);
    node=document.createElement(%%3);
    node.setAttribute(%%4,nlist.getLength()+1).toString());
    node.appendChild(document.createTextNode(“\n”);
    Element ipNode=document.createElement(%%5);
    ipNode.appendChild(document.createTextNode(%%8));
    node.appendChild(ipNode);
    node.appendChild(document,createTextNode(“\n”);
    Element port=document.createElement(%%6);
    port.appendChild(document.createTextNode(%%9));
    node.appendChild(port);
    node.appendChild(document,createTextNode(“\n”);
    nlist.appendChild(node);
    TransformerFactory tFactory=TransformerFactory.newInstance();
    Transformer transformer=null;
    try {
    transformer=tFactory.newTransformer();
    DOMSource source=new DOMSource(document);
    StreamResult result=new StreamResult(xml_file);
    transformer.transform(source,result);
    } catch(Exception e) {
    e.printStackTrace();
    }

    38.ZIP压缩文件
    //import java.io.*;
    //import java.util.zip.*;
     //创建文件输入流对象
     FileInputStream fis=new FileInputStream(%%1);
     //创建文件输出流对象
     FileOutputStream fos=new FileOutputStream(%%2);
     //创建ZIP数据输出流对象
     ZipOutputStream zipOut=new ZipOutputStream(fos);
     //创建指向压缩原始文件的入口
     ZipEntry entry=new ZipEntry(args[0]);
     zipOut.putNextEntry(entry);
     //向压缩文件中输出数据
     int nNumber;
     byte[] buffer=new byte[1024];
     while((nNumber=fis.read(buffer))!=-1)
    zipOut.write(buffer,0,nNumber);
     //关闭创建的流对象
     zipOut.close();
     fos.close();
     fis.close();
    }
    catch(IOException e)
    {
     System.out.println(e);
    }

    39.ZIP解压缩
    //import java.io.*;
    //import java.util.zip.*;
    try{
     //创建文件输入流对象实例
     FileInputStream fis=new FileInputStream(%%1);
     //创建ZIP压缩格式输入流对象实例
     ZipInputStream zipin=new ZipInputStream(fis);
     //创建文件输出流对象实例
     FileOutputStream fos=new FileOutputStream(%%2);
     //获取Entry对象实例
     ZipEntry entry=zipin.getNextEntry();
     byte[] buffer=new byte[1024];
     int nNumber;
     while((nNumber=zipin.read(buffer,0,buffer.length))!=-1)
    fos.write(buffer,0,nNumber);
     //关闭文件流对象
     zipin.close();
     fos.close();
     fis.close();
    }
    catch(IOException e) {
     System.out.println(e);
    }

    40.ZIP压缩文件夹
    //import java.io.*;
    //import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载
    //import java.util.zip.*;
    try {
    String zipFileName = %%2; //打包后文件名字
    File f=new File(%%1);
    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));
    String base= “”;
    if (f.isDirectory()) {
       File[] fl = f.listFiles();
       out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + “/”));
       base = base.length() == 0 ? “” : base + “/”;
       for (int i = 0; i < fl.length; i++) {
       zip(out, fl[i], base + fl[i].getName());
     }
    }else {
       out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));
       FileInputStream in = new FileInputStream(f);
       int b;
       while ( (b = in.read()) != -1) {
        out.write(b);
     }
    in.close();
    }
    out.close();
    }catch (Exception ex) {
       ex.printStackTrace();
    }

  7. hiroki 说:

    感谢楼主帖!

留下一个回复