package com.file.run;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
package com.file.run;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class ForFile {
// 生成文件路径
private static String path = "C:\\Users\\zhengmingyuan\\Desktop\\.00d3ec41dd6ef6ca56f7643e024bee25";
// 文件路径+名称
private static String filenameTemp;
//创建文件
public static void main(String[] args) throws IOException {
ForFile forFile = new ForFile();
// String filecontent="copy /b *.ts new1.ts";
// String fileName="111";
// ForFile file=new ForFile();
// file.createFile(fileName,filecontent);
// for(int i=0;i<new ForFile().getpath().size();i++){
// System.out.println(new ForFile().getpath().get(i));
// }
for(int i=0;i<forFile.readbyLine().size();i++){
System.out.println(forFile.readbyLine().get(i));
}
}
public static boolean createFile(String fileName, String filecontent) {
Boolean bool = false;
filenameTemp = path + fileName + ".bat";// 文件路径+名称+文件类型
File file = new File(filenameTemp);
try {
// 如果文件不存在,则创建新的文件
if (!file.exists()) {
file.createNewFile();
bool = true;
System.out.println("success create file,the file is "
+ filenameTemp);
// 创建文件成功后,写入内容到文件里
writeFileContent(filenameTemp, filecontent);
}
} catch (Exception e) {
e.printStackTrace();
}
return bool;
}
//向文件中写入内容
public static boolean writeFileContent(String filepath, String newstr)
throws IOException {
Boolean bool = false;
String filein = newstr + "\r\n";// 新写入的行,换行
String temp = "";
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
FileOutputStream fos = null;
PrintWriter pw = null;
try {
File file = new File(filepath);// 文件路径(包括文件名称)
// 将文件读入输入流
fis = new FileInputStream(file);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
StringBuffer buffer = new StringBuffer();
// 文件原有内容
for (int i = 0; (temp = br.readLine()) != null; i++) {
buffer.append(temp);
// 行与行之间的分隔符 相当于“\n”
buffer = buffer.append(System.getProperty("line.separator"));
}
buffer.append(filein);
fos = new FileOutputStream(file);
pw = new PrintWriter(fos);
pw.write(buffer.toString().toCharArray());
pw.flush();
bool = true;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
// 不要忘记关闭
if (pw != null) {
pw.close();
}
if (fos != null) {
fos.close();
}
if (br != null) {
br.close();
}
if (isr != null) {
isr.close();
}
if (fis != null) {
fis.close();
}
}
return bool;
}
//删除文件
public static boolean delFile(String fileName) {
Boolean bool = false;
filenameTemp = path + fileName + ".txt";
File file = new File(filenameTemp);
try {
if (file.exists()) {
file.delete();
bool = true;
}
} catch (Exception e) {
// TODO: handle exception
}
return bool;
}
//获取文件路径+名字
public List getfile() {
File file = new File("D:\\娱乐\\英雄联盟\\新建文件夹\\qq");
File[] fileList = file.listFiles();// 将该目录下的所有文件放置在一个File类型的数组中
List<File> wjList = new ArrayList<File>();// 新建一个文件集合
for (int i = 0; i < fileList.length; i++) {
if (fileList[i].isFile()) {// 判断是否为文件
wjList.add(fileList[i]);
}
}
return wjList;
}
//获取文件路径
public List getpath() {
File file = new File("D:\\娱乐\\英雄联盟\\新建文件夹\\qq");
File[] fileList = file.listFiles();// 将该目录下的所有文件放置在一个File类型的数组中
List<File> wjList = new ArrayList<File>();// 新建一个文件集合
for (int i = 0; i < fileList.length; i++) {
if (fileList[i].isDirectory()) {// 判断是否为文件
wjList.add(fileList[i]);
}
}
return wjList;
}
//读取制定行,因为读的文件较多,所以用list接收了
public List readbyLine() throws IOException {
List<String> list = new ArrayList<String>();
int lineNumber = 5;
String s = null;
ForFile forFile = new ForFile();
List filelist = forFile.getfile();
for (int i = 0; i < filelist.size(); i++) {
File sourceFile = (File) filelist.get(i);
FileReader in = new FileReader(sourceFile);
LineNumberReader reader = new LineNumberReader(in);
s = reader.readLine();
{
for (int i1 = 0; i1 < 3; i1++) {//循环几次就是获取的第几行的内容,比较笨的方法,有好可以留言
s = reader.readLine();
}
}
reader.close();
in.close();
list.add(s);
}
return list;
}
}
}
return s;
}
}