文件流是有这个方法的 为什么报错

 

首先你这个FileInputStream类的类名和JPI里的文件流名称相同,这样就会导致重写FileInputStream类。就是说你后面new建立FileInputStream类时,用的是你自己写的FileInputStream类,而不是java库中原有的那个类。所以你调用read()方法就会报错,除非你自己再写一个read()方法。可以改一下类名,引入那些文件流的包。比如:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class TestFileInputStream {

public static void main(String[] args) {
	FileInputStream a;
	try {
		a = new FileInputStream(new File("D:\\1.txt"));
		int b= a.read();
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
}
}

或者,如果非要自己重写一个读文件的方法:

public class FileInputStream {

	  public FileInputStream(String string) {
	  
	  }
	  private int read() {
			// TODO Auto-generated method stub
			return 0;
		}
	  
public static void main(String[] args) {
	FileInputStream a = new FileInputStream("D:\\1.txt");
		int b= a.read();
}
}

试过直接编译吗,编译报错了吗?