文本文件为"f.txt",内容如下:
--------------------------
001/m迈向  /v
002/m向  /v
--------------------------开始用以下代码读取:FileInputStream  fs = new FileInputStream("F:\\f.txt");
int len=0;
String str="";
byte g[]=new byte[2];
while(fs.available()>0)
{
len=fs.read(g);
str=new String(g,0,len,"GB2312");
System.out.println(str);
}
但很显然,会失败..特来请教..

解决方案 »

  1.   

    public static void main(String[] args) {
            // TODO code application logic here
            InputStream is = null;
            byte[] buffer = new byte[64];
            String tmp = null;
            try {
                is  = new FileInputStream("E://work//test//a.txt");
                while(is.read(buffer)!=-1) {
                    tmp = new String(buffer);
                    System.out.print(tmp);
                }
            }
            catch(Exception e) {
                
            }
            
        }
      

  2.   

    TO wssgwps(小刀会):
    这样的做法是可以,我也想到过.不过我想,彻底解决中文编码问题.而不是你这样. 再说了.你那样做,在txt文件内容很长而且有中文的情况下有可能出错的. 例如你读入了前面64个字节输出来了,但第65个字节和第64个字节是组成一个汉字的,这样的话,你的做法就完蛋了.
      

  3.   

    String不是可以很大吗?哪不能全读进去再显示吗?
      

  4.   

    try{
    BufferedReader in=new BufferedReader(new FileReader("f:\\f.txt"));
    String str;
    while((str=in.readLine())!=null){
    System.out.println(str);
    }
    in.close();
    }catch(IOException e){

    }finally{

    }///////////////////////////返回如下
    001/m迈向  /v
    002/m向  /v
      

  5.   

    private void saveAsFile()
        {
            JFileChooser chooser = new JFileChooser();
            chooser.setFileFilter(new FileFilter()
            {
                public boolean accept(File f)
                {
                    return f.getName().toLowerCase().endsWith(".java") || f.isDirectory();
                }
                public String getDescription()
                {
                    return "Java Files";
                }
            });
            int r1 = chooser.showSaveDialog(this);
            if (r1 == JFileChooser.APPROVE_OPTION)
            {
                fileName = chooser.getSelectedFile().getPath();
                try
                {
                    BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
                    writer.write(text.getText());
                    writer.close();
                }
                catch (IOException e)
                {
                    ErrorDialog error=new ErrorDialog(this,"Saveas error","Save as the file error!");
                    error.show();
                }
            }
        }
    我以前写的,参考以下