это незавершенная работа, но мне было интересно, как получить доступ к определенному файлу. Мой основной метод должен создать новый FileInputStream с новым файлом в качестве параметра. Затем я должен вызвать метод getCounts, который принимает объект FileInputStream, чтобы вернуть какую-то карту. Внутри метода getCounts у меня возникли проблемы с завершением этого, так как я должен иметь доступ к файлу внутри него, и FileInputStream, похоже, не имеет для него доступа. Другими словами, как мне получить доступ к этому файлу, используемому для создания объекта FileInputStream, который входит в метод getCounts в качестве параметра внутри метода getCounts? В конечном счете, я должен использовать ключи/значения карты, чтобы получить наиболее повторяющийся символ текстового файла. Спасибо.
Вот мой код:
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;
}
}