1.BufferedReader缓冲字符流
import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; //出师表文件顺序恢复 public class BufferedChar { public static void main(String[] args) { try { //创建缓冲字符输入流管道与源文件接通 BufferedReader br = new BufferedReader(new FileReader("dark_horse/src/csb.txt")); //定义一个List存取每行内容 List<String> data = new ArrayList<>(); String line; while((line = br.readLine()) != null){ data.add(line); } //定义排序规则 List<String> size = new ArrayList<>(); Collections.addAll(size,"一","二","三","肆","五","六","七","八","九"); System.out.println(size); Collections.sort(data, new Comparator<String>() { @Override public int compare(String o1, String o2) { return size.indexOf(o1.substring(0,o1.indexOf("."))) - size.indexOf(o2.substring(0,o2.indexOf("."))); } }); System.out.println(data); } catch (Exception e) { e.printStackTrace(); } } }
2.字符编码乱码问题(默认是utf-8)
public class InputStreamReaderDemo1 { //输入流编码 public static void main(String[] args) throws Exception { InputStream is = new FileInputStream("wenjian"); Reader isr = new InputStreamReader(is,"GBK");//指定编码转换成字符流 BufferedReader br = new BufferedReader(isr); String line; while((line = br.readLine()) != null){ System.out.println(line); } } } import java.io.*; public class OutputStreamwriter { public static void main(String[] args) throws Exception { OutputStream os = new FileOutputStream("ffff"); Writer osw = new OutputStreamWriter(os,"UTF-8"); BufferedWriter bw = new BufferedWriter(osw); bw.write("我爱中国!"); bw.close(); } }
3.PrintStream打印流
import java.io.FileNotFoundException; import java.io.PrintStream; public class PrintDemo1 { public static void main(String[] args) throws FileNotFoundException { //创建打印对象 //PrintStream ps = new PrintStream(new FileOutputStream("ad.txt",true));追加在低级管道 PrintStream ps = new PrintStream("ts.txt"); ps.println(34); ps.println(97); ps.println(true); ps.println("wwdadsd"); ps.close(); } } import java.io.FileNotFoundException; import java.io.PrintStream; //了解改变输出语句的位置到文件(改变输出的位置) public class PrintDemo3 { public static void main(String[] args) throws FileNotFoundException { System.out.println();//println()其实也是Print输出流打印的 //只不过文件是控制台 PrintStream ps = new PrintStream("ed.txt"); System.setOut(ps);//把系统打印流改成自己的 System.out.println();//之后就输出到自己定义的文件 } }
4.Property属性
import java.io.FileWriter; import java.io.IOException; import java.util.Properties; //Property是继承Map public class propertyDemo { public static void main(String[] args) throws IOException { //使用Property把键值对信息存入属性文件中 Properties properties = new Properties(); //properties.put("aaaa","aa3"); properties.setProperty("qq","ww");//为了与上个语句划分 properties.store(new FileWriter("sss.txt"),"adadadadad"); } } //读取键对信息 public class propertyDemo2 { public static void main(String[] args) throws Exception { Properties properties = new Properties(); System.out.println(properties); //属性文件加载到对象里去 properties.load(new FileReader("./sss.txt")); System.out.println(properties); String rs = properties.getProperty("qq");//取键值 System.out.println(rs); } }
5.common-IO框架(节省代码,用的时候去查)
import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio.file.Files; import java.nio.file.Path; public class Common_ioDemo { public static void main(String[] args) throws Exception { //完成文件复制 IOUtils.copy(new FileInputStream("ecece.tt"),new FileOutputStream("aaa.txt")); //完成文件复制到某个文件夹 FileUtils.copyFileToDirectory(new File("D:\\sss"),new File("D:\\ee")); //完成文件复制文件 FileUtils.copyDirectoryToDirectory(new File("aaa"),new File("aaa")); //JDK1.7自己也做了一些 new io技术 Files.copy(Path.of("D:\\aaa"),Path.of("D:\\qqqq")); } }