gpt4 book ai didi

java - 如何访问参数的参数?

转载 作者:行者123 更新时间:2023-11-29 05:21:01 25 4
gpt4 key购买 nike

这是一项正在进行的工作,但我想知道如何访问特定文件。我的主要方法应该以新文件作为参数构造一个新的 FileInputStream。然后,我应该调用接受 FileInputStream 对象的 getCounts 方法来返回某种映射。在 getCounts 方法中,我无法完成此操作,因为我必须能够访问其中的文件,而 FileInputStream 似乎没有访问器。换句话说,如何在 getCounts 方法中访问这个文件,该文件用于构造作为参数进入 getCounts 方法的 FileInputStream 对象?最终,我应该使用映射的键/值来获取文本文件中最常出现的字符。谢谢。

这是我的代码:

import java.util.*;
import java.io.*;


public class test2 {
public static void main(String[] q) throws FileNotFoundException {

// This is for the character mapping
Scanner console = new Scanner(System.in);
System.out.println("Count characters of which file? ");
FileInputStream output = new FileInputStream(new File(console.nextLine()));
Map<Character, Integer> results = getCounts(output);
// do stuff with this map later on...
}

// character counting method (WIP)
public static Map<Character, Integer> getCounts(FileInputStream input) {
Map<Character, Integer> output = new TreeMap<Character, Integer>(); // treemap keeps keys in sorted order (chars alphabetized)
// Problem here: need to access the file object that was instiantiated
byte[] fileContent = new byte[(int) file.length()]; // puts all the bytes from file into byte[] to process
input.read(fileContent);
String test = new String(fileContent);

// missing stuff here; use map to map keys as characters and occurrences as values.

return output;
}
}

最佳答案

如果你打算使用 FileInputStream,那么你将需要循环,进行多次读取

byte[] fileContent = new byte [1024];

while ((input.read (fileContent) != -1) {

// save fileContent somewhere
// e.g.
arrlist.add (new String (fileContent));

}

关于java - 如何访问参数的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24750906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com