文章出處
文章列表
1、編寫一個程序,將d:\java 目錄下的所有.java 文件復制到d:\jad 目錄下,并將原來文件的擴展名從.java 改為.jad。
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; public class Jad2Java { public static void main(String[] args) throws Exception { //1.定位到文件的路徑下 File javaFile=new File("D:\\java"); //1.1判斷文件夾是否存在,不存在就跑出異常 if (!javaFile.exists()||!javaFile.isDirectory()) { throw new Exception("java文件夾不存在"); } //2.找出所有的以“.Java”為后綴名的文件 File[] javaFiles= javaFile.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { //System.out.println(name); return name.endsWith(".java")?true:false; } }); //3、創建新的文件夾 File jadFile=new File("D://jad"); //3.1如果文件不存在的話,那么就創建一個 if (!jadFile.exists()) { jadFile.mkdir(); } //4、將所有.Java的文件復制到Jad文件夾下面 for (File file : javaFiles) { FileInputStream fis=new FileInputStream(file); String newJadName=file.getName().replaceAll("\\.java$", ".jad"); FileOutputStream fos=new FileOutputStream(new File(jadFile,newJadName)); copy(fis,fos); fis.close(); fos.close(); } } /** * 將輸入流中的內容輸出 * @param fis 文件輸入流 * @param fos 文件輸出流 */ private static void copy(FileInputStream fis, FileOutputStream fos) { byte[] buff=new byte[1000]; int lenth=0; try { while (-1!=(lenth=fis.read(buff))) { fos.write(buff,0,lenth); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2、編寫一個程序,將a.txt文件中的單詞與b.txt文件中的單詞交替合并到c.txt文件中,a.txt文件中的單詞用回車符分隔,b.txt文件中用回車或空格進行分隔。
import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class MyReadFromFile { public void readFromFile() throws IOException { // 完成文件管理類的初始化 FileManager f1 = new FileManager("data1.txt", new char[] { '\n' }); FileManager f2 = new FileManager("data2.txt", new char[] { '\n', ' ' }); // 將文件1和文件2循環寫入 String file1Str = f1.NextWord(); String file2Str = f2.NextWord(); FileWriter fw = new FileWriter("c.txt"); while (file1Str != null) { fw.write(file1Str); if (!file2Str.isEmpty()) { fw.write(file2Str); } file2Str = f2.NextWord(); file1Str = f1.NextWord(); } while (!file2Str.isEmpty()) { fw.write(file2Str); file2Str = f2.NextWord(); } // 可能遇到的情況,文件1寫完了,但是文件2還沒有寫完 fw.close(); } public static void main(String[] args) { } class FileManager { private int position = 0; private String[] Words; public FileManager(String FileName, char[] Seperate) throws FileNotFoundException { File mFile = new File(FileName); FileReader fileReader = new FileReader(mFile); String regex = null; if (Seperate.length > 1) { regex = "" + Seperate[0] + "|" + Seperate[1]; } else { regex = "" + Seperate[0]; } char[] Data = new char[(int) mFile.length()]; try { int Lenth = fileReader.read(Data); String longWords = new String(Data, 0, Lenth); Words = longWords.split(regex); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public String NextWord() { if (position == Words.length) { return null; } return Words[position++]; } } }
文章列表
全站熱搜