public class Input { private ArrayList<String> lineTxt = new ArrayList<String>(); public ArrayList<String> getLineTxt() { return lineTxt; } public void input(String fileName) { BufferedReader inputFile = null; try { inputFile = new BufferedReader(new FileReader(fileName)); } catch (Exception e) { e.printStackTrace(); } String line; try { while ((line = inputFile.readLine()) != null) { lineTxt.add(line); } } catch (IOException e) { e.printStackTrace(); } } }
时间: 2023-07-15 19:13:15 浏览: 77
这是一个 Java 类,名为 Input,它有一个成员变量 lineTxt,它是一个 ArrayList<String> 类型的数组。它还有一个方法 input(String fileName),该方法接受一个文件名作为参数,然后读取该文件中的每一行并将其添加到 lineTxt 数组中。如果读取文件时出现错误,它会打印出堆栈跟踪信息。
相关问题
解释代码:import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; public class Input { private ArrayList<String> lineTxt = new ArrayList<String>(); public ArrayList<String> getLineTxt() { return lineTxt; } public void input(String fileName) { BufferedReader inputFile = null; try { inputFile = new BufferedReader(new FileReader(fileName)); } catch (Exception e) { e.printStackTrace(); } String line; try { while ((line = inputFile.readLine()) != null) { lineTxt.add(line); } } catch (IOException e) { e.printStackTrace(); } } }
()];
buffer.get(bytes);
FileOutputStream output = null;
try {
output = new FileOutputStream(mFile);
output.write(bytes);
} catch (IOException e) {
e.printStackTrace();
} finally {
mImage.close();
if (output != null)这段代码定义了一个名为 `Input` 的类,该类包含以下成员变量和方法:
- 成员 {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
变量 `lineTxt`:类型为 `ArrayList<String>`,用于存储从文件中读取的文本行。
- }
private static final SparseIntArray ORIENTATIONS = new SparseIntArray();
static {
ORIENTATIONS.append(Surface 方法 `getLineTxt()`:返回成员变量 `lineTxt` 的值,用于获取读取的文本行。
.ROTATION_0, 90);
ORIENTATIONS.append(Surface.ROTATION_90, 0);
ORIENTATIONS- 方法 `input(String fileName)`:用于读取指定文件名的文本文件,并将每一行存储到成.append(Surface.ROTATION_180, 270);
ORIENTATIONS.append(Surface.ROTATION_270, 180);
}
}
```
注释下面每一行代码:public class Shift { private ArrayList<String> kwicList = new ArrayList<String>(); private ArrayList<String> lineTxt; public Shift( ArrayList<String> lineTxt) { this.lineTxt = lineTxt; } public ArrayList<String> getKwicList() { return kwicList; } public ArrayList<String> getLineTxt() { return lineTxt; } public void shift() { //获取每个单词,存入tokens Iterator<String> it = lineTxt.iterator(); while (it.hasNext()) { StringTokenizer token = new StringTokenizer(it.next()); ArrayList<String> tokens = new ArrayList<String>(); int i = 0; //循环添加单词 int count = token.countTokens(); while (i < count) { tokens.add(token.nextToken()); i++; } //display(tokens); //切割各个单词,不断改变起始值和利用loop实现位移。 for (i = 0; i < count; i++) { StringBuffer lineBuffer = new StringBuffer(); int index = i; for (int f = 0; f < count; f++) { //从头继续位移 if (index >= count) index = 0; //存入StringBuffer lineBuffer.append(tokens.get(index)); lineBuffer.append(" "); index++; } String tmp = lineBuffer.toString(); kwicList.add(tmp); } } } }
这段代码定义了一个名为 Shift 的类,其中包含了三个字段和三个方法:
- 字段 kwicList:类型为 ArrayList<String>,存储了所有的关键词索引环(Key Word in Context List)。
- 字段 lineTxt:类型为 ArrayList<String>,存储了所有待处理的文本行。
- 构造方法 Shift():接受一个类型为 ArrayList<String> 的 lineTxt 参数,并将其赋值给 lineTxt 字段。
- 方法 getKwicList():返回 kwicList 字段。
- 方法 getLineTxt():返回 lineTxt 字段。
- 方法 shift():实现关键词索引环的生成过程。
具体来说,shift() 方法中首先通过 Iterator 遍历 lineTxt 中的每一行文本(每一行都是由多个单词组成的字符串),并将这些单词分割出来,存入 tokens 的 ArrayList 中。
然后,对于每个 tokens,利用双重 for 循环遍历每一个单词,不断改变起始值和利用 loop 实现位移。在位移过程中,使用 StringBuffer 存储每个位移后的单词序列,最终将其存入 kwicList 中。这样,kwicList 中就存储了所有的关键词索引环。
阅读全文