Accessing texts files in Java(在Java中访问文本文件)
问题描述
我正在尝试访问Java中的文本文件,但是我不知道如何做到这一点并将其应用于2D数组。我以前做过猪拉丁编码分配中的字符串 E.x:
public static void piglatenizeFile(Scanner infile, String filename) throws IOException{
PrintWriter outFile = new PrintWriter(filename);
while(infile.hasNext()){
String s = infile.nextLine();
String p = pig(s);
outFile.println(p);
}
outFile.close();
}
然而,这是我必须做的:
/* creates scanner for filename
creates 2D array based on row/col
and characters in file
*/
public static char[][] read(String filename) throws FileNotFoundException{
}
它如何使用二维数组?
推荐答案
JAVA没有二维数组。它只有数组。当然,如果你有一个数组,它的组件类型也是一个数组,它的行为很像一个二维数组,尽管它不是。例如,在Java中,没有任何类型描述数组的数组,以至于它是矩形的。您可以拥有:
char[][] x = ...;
x[0].length == 5;
x[1].length == 7;
,它不是二维数组。char[][]
只是一个一维数组,其组件为char数组。
new char[10][20]
是:创建一个包含10个数组的字符数组的新数组。然后,对于每个插槽,执行new char[20]
并将结果分配给该插槽。
但不要让这让你感到困惑。这只是速记,仅此而已。只是:
char[][] x = new char[20][10];
和
char[][] x = new char[20][];
for (int i = 0; i < x.length; i++) {
x[i] = new char[10];
}
它相同(事实上,甚至在字节码级别)。2D数组并不存在,因此您不需要浪费脑力并了解它们是什么。您只需了解上述语法,并始终对代码进行推理,知道2D数组并不是真正的东西,它们只是数组的数组。
记住这一点,您可以使用您已有的技能自己回答此问题。
,并且知道"foo".toCharArray()
将字符串转换为字符数组。就数组赋值而言,字符数组和字符串没有区别:
String[]
是一维数组,只允许您在其中赋值String
类型的表达式。char[][]
是一维数组,只允许您在其中赋值char[]
类型的表达式。String
只是一个对象类型。char[]
也是如此。数组是对象。someStr.toCharArray()
是char[]
类型的表达式。
这篇关于在Java中访问文本文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在Java中访问文本文件
基础教程推荐
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01