1, 在电脑D盘下存在一个文件夹myFile,通过程序在该文件夹中创建一个helloWorld.java文件,并向该文件中随机输入若干个0—9的数字
2, 在文件夹myFile中创建一千个随机拓展名为.java,.txt,.doc,文件以产生的顺序命名,如1.java,2.txt等。
3, 往myFile中的每个java文件中随机输入若干个‘A’到‘Z’的大写字母
4, 在myFile中存在视屏文件myVideo.wmv,将该文件拷贝到myFile1文件下,并播放。(帮助:
播放代码:Runtime run = Runtime.getRunTime();
Run.exec(“\”播放器路径\ ”视屏文件地址”);
5,随机删除myFile中的文件(保留约百分之五十的文件),然后将myFile中的所有.java文件复制到文件夹myFile1下
我只写了前四题,第五题还有点问题。所以,如果小伙伴们有更好的答案的话,可以发上来一起探讨探讨。谢谢^-^
package IOTest; import java.io.*; import java.util.*; public class ioTest3 { public static void main(String[] args) throws IOException, InterruptedException { //First(); // Second(); // third(); //four(); five(); } private static void five() throws FileNotFoundException, IOException { File file = new File("D:\\myFile"); String[] list = file.list(); String fileType0 = ".txt"; String fileType1 = ".java"; String fileType2 = ".doc"; String type = new String(); String folderPath = "D:\\myFile\\"; //随机删除大约百分之五十的文件 for(int i=0;i<(list.length)/2;i++) { int delNum = (int)(Math.random() * (list.length));//判断随机删除的文件的名字 String delFilePath = folderPath + list[delNum]; System.out.println(delFilePath); File delFile = new File(delFilePath); delFile.delete(); } System.out.println("==================删除完毕=================="); //将.java文件复制到myFile中 System.out.println("在myFile1中创建文件"); String[] newList = file.list(); for(String fileName : newList) { System.out.println(fileName); } System.out.println(); File folder2 = new File("D:\\myFile1"); String folderPath2 = "D:\\myFile1\\"; for(String fileName : newList) { if(fileName.endsWith(".java")) { String copyPath = folderPath2 + fileName; File fileCopy = new File(copyPath); FileInputStream fis = new FileInputStream(fileCopy); fileCopy.createNewFile(); FileOutputStream fos = new FileOutputStream(fileCopy); byte[] buff = new byte[10]; int temp = -1; while((temp = fis.read(buff)) != -1) { fos.write(buff, 0, temp); } fis.close(); fos.close(); } } System.out.println("执行完毕!"); } private static void four() throws FileNotFoundException, IOException { File file = new File("D:\\myFile\\capture-1.avi"); FileInputStream fis = new FileInputStream(file); File fileNew = new File("D:\\myFile1\\capture-1.avi"); FileOutputStream fos = new FileOutputStream(fileNew); fileNew.createNewFile(); byte[] buff = new byte[1024 * 1024]; int temp = -1; while((temp = fis.read(buff)) != -1) { fos.write(buff,0,temp); } Runtime run = Runtime.getRuntime(); run.exec("\"D:\\暴风影音\\StormPlayer.exe\"D:\\myFile1\\capture-1.avi"); fos.close(); fis.close(); System.out.println("执行完毕!"); } private static void third() throws IOException { File file = new File("D:\\myFile"); String[] list = file.list(); for(String filename : list) { if(filename.endsWith(".java")) { FileWriter wr = new FileWriter("D:\\myFile\\" + filename); String str = new String(); for(int i=0;i<(int)(Math.random()*100);i++) { int temp = (int)(Math.random() * 26) + 65; str +=(char)temp; } System.out.println(str); wr.write(str); wr.close(); } } System.out.println("执行完毕"); } private static void Second() throws IOException { String filePath = "D:\\myFile\\"; String fileType1 = ".txt"; String fileType2 = ".java"; String fileType3 = ".doc"; String str = null; String path = null; for(Integer i=0;i<50;i++) { int temp = (int)(Math.random() * 10); if(temp % 3 ==0) { str = fileType1; }else if(temp %3 == 1) { str = fileType2; }else if(temp %3 == 2) { str = fileType3; } path = filePath + i.toString() + str; File file = new File(path); file.createNewFile(); } } private static void First() throws IOException { File file = new File("D:\\myFile\\helloWorld.java"); file.createNewFile(); FileWriter fw = new FileWriter(file); int len = (int)(Math.random() * 10); for(Integer i = 0;i < len ; i++) { Integer temp = (int)(Math.random() * 10); fw.write(temp.toString()); } fw.close(); } }
========================分割线==================================
更新:1,在D盘下创建一个文件夹myFile,并在myFile中创建一个文件:file1.txt,相file.txt中随机1000个随机字母‘A'~'Z'
使用字节流写入字母到文件中
File file = new File("D:/myFile2"); file.mkdir(); File file1 = new File(file,"file1.txt"); file1.createNewFile(); OutputStream out = new FileOutputStream(file1); for(int i=0;i<1000;i++) { int ch = (int)(Math.random() * 26 + 65); out.write(ch); } out.close();
2,计数file1中‘T’的数量
File file = new File("D:/myFile2/file1.txt"); InputStream in = new FileInputStream(file); int len = -1; int count =0; byte[] buff = new byte[10]; while((len = in.read()) != -1) { if(len == 'T') { count ++; } } System.out.println("T的数量为:" + count); in.close();
3,图片复制