我有这样的方法:
public int getIncrement() { String extractFolder = "/mnt/sdcard/MyFolder"; boolean newFolder = new file(extractFolder).mkdir(); int counter = 0; try { file root = new file(extractFolder); if (root.canWrite()){ file gpxfile = new file(root, "gpxfile.txt"); fileWriter gpxwriter = new fileWriter(gpxfile); BuffereDWriter out = new BuffereDWriter(gpxwriter); Scanner scanner = new Scanner(new fileinputStream(gpxfile.getabsolutePath()), "UTF-8"); Log.i("PATH: ", extractFolder + "/gpxfile.txt"); while(scanner.hasNextline()) { String inc = scanner.nextline(); counter = Integer.parseInt(inc); Log.i("INSIDE WHILE: ", Integer.toString(counter)); } counter++; out.write(Integer.toString(counter)); out.close(); } } catch (IOException e) { Log.e("GEN_PCN: ", "Could not write file " + e.getMessage()); } return counter; }
我想要完成的是返回此文件的内容,并将整数递增1.但似乎我无法进入while循环,因为LogCat不打印任何内容.是的,我确定路径是正确的.
解决方法:
我想fileWriter gpxwriter的构造函数在创建Scanner时已经清空了文件,因此该文件为空并且hasNextline返回false.为什么要在阅读时打开文件进行写作?
总结以上是内存溢出为你收集整理的java – 无法从文本文件中读取行全部内容,希望文章能够帮你解决java – 无法从文本文件中读取行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)