Java文件程序问题,用命令行输入参数,为啥从“data.txt”读出时无限输出问号

原问题:Java文件程序问题,用命令行输入参数,为啥从“data.txt”读出时无限输出问号
分类:编程开发 > 最后更新时间:【2016-12-14 10:55:12】
问题补充:

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

public class Main11 {

public static void main(String[]args)

{

try

{

FileOutputStream f=new FileOutputStream("data.txt");

if(args.length==0) //没有向命令行输入参数的情况

System.out.println("No command line arguments");

else //向命令行输入参数

{

System.out.println("Command line arguments were: ");

for(int i=0;i<args.length;i++) //循环输出命令行数组接收到的参数

{ System.out.println("Argument"+(i+1)+":"+args[i]);

byte[]b=args[i].getBytes();

f.write(b);

f.flush();}

f.close();

}

}

catch(IOException e)

{

System.out.println("发生异常"+e);

e.printStackTrace();

}

try

{

FileInputStream f1=new FileInputStream("data.txt");

int k;

int b=f1.read();

for(k=0;k!=-1;k++)

{

System.out.print((char)b);

b=f1.read();

}

f1.close();

}

catch(IOException e)

{

System.out.println("发生异常"+e);

e.printStackTrace();

}

}

}

最佳答案

后边的循环的条件是一直成立的啊,


追问:
为什么求解答!
追问:
懂了! 谢谢

  • 追问:
    我竟然没看见这么简单的问题,谢了
    最佳答案由网友  哇哦请客  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    1

    分享到:

    其他回答

    其它网友回答:
    出现问号是编码的问题,不识别中文;无限输出是因为你的for循环没有提供有效退出的条件。

    其它网友回答:
    输出问号肯定是中文编码问题,你的输入参数有没有中文,试一下输入参数没有中文看有没有问号出现

    其它网友回答:
    无限死循环了

    其它网友回答:
    使用Notepad++

      推荐