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,图片复制