gpt4 book ai didi

java - 如何在另一个类中调用一个类的 main() 方法?

转载 作者:搜寻专家 更新时间:2023-10-31 20:10:40 24 4
gpt4 key购买 nike

如何在另一个类中调用一个类的 main() 方法?我有两个类 SaveDataDynamicTest。这两个类都包含一个 main() 方法。我想在 DynamicTest 类中运行我的 main。如何正确调用 SaveData

public class SaveData {

private static final Map<String, Object> myCachedTreeMap = new TreeMap<String, Object>();


public static final List<String> getLines(final String resourceParam, final Charset charset) throws IOException{
System.out.println("Please get: "+resourceParam);
if (myCachedTreeMap.containsKey(resourceParam) ) {
// Use the cached file, to prevent an additional read.
System.out.println("Found in memory : "+resourceParam);

}
else {
// Load the file from disk
System.out.println("Not Found in memory : "+resourceParam);
}

return null;


}


public static void main(String[] args) throws IOException {
String target_dir = "C:\\myfiles\\config\\en";
String output = "C:\\myfiles\\config\\en\\output.txt";
File dir = new File(target_dir);
File[] files = dir.listFiles();

if (files == null || files.length < 1) {
System.out.println("File list is empty...");
return;
}

// open the Printwriter
PrintWriter outputStream = new PrintWriter(output);

try {

for (File textFile : files) {
if (textFile.isFile() && textFile.getName().endsWith(".txt")) {
readFromDisk(textFile);
}
}
}
finally {
outputStream.close();
}
String fileNameFromCache = "en_synonyms.txt";
Object Sheet1 = myCachedTreeMap.get(fileNameFromCache);
System.out.println(fileNameFromCache + " : \n" + Sheet1);
}

@SuppressWarnings("resource")
private static void readFromDisk(File textFile) throws FileNotFoundException, IOException {

BufferedReader inputStream;
inputStream = null;
String content = "";
try {
inputStream = new BufferedReader(new FileReader(textFile));
content = readFile(textFile);
System.out.println("Bytes Read = "+content.length());
// Save contents
FileContentsObject Sheet1 = new FileContentsObject(System.currentTimeMillis(),
textFile.lastModified(), content,
textFile.getName(),
getLines(null, null));
// add to map
myCachedTreeMap.put(textFile.getName(), Sheet1);
}
finally {
if (inputStream != null) {
inputStream.close();
}
}
}


private static String readFile(File f) throws FileNotFoundException, IOException, UnsupportedEncodingException {
StringBuilder text = new StringBuilder(1024);
int read, N = 1024 * 1024;
char[] buffer = new char[N];


BufferedReader br = null;
try {
br = new BufferedReader(
new InputStreamReader(
new FileInputStream(f), "UTF8"));


while(true) {
read = br.read(buffer, 0, N);
if (read > 0)
text.append(new String(buffer, 0, read));

if(read < N) {
break;
}
}
}
finally {
if (br != null)
br.close();
}

return text.toString();
}


private static final class FileContentsObject {
private long cachedTime; // currentTime
private long lastModifiedTimestamp;
private String contents;
List<String> lines;
private String fileName;

public FileContentsObject(long cachedTime, long lastModifiedTimestamp,
String contents, String fileName, List<String> lines) {
this.cachedTime = cachedTime;
this.lastModifiedTimestamp = lastModifiedTimestamp;
this.contents = contents;
this.fileName = fileName;
this.lines = lines;
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy HH:mm:ss");


System.out.println("Current Time & Date:" + sdf.format(cachedTime));

System.out.println("Last Modified Time Stamp:"
+ sdf.format(lastModifiedTimestamp));

}
/**
*
* @return The lines from the file
*/
List<String> getLines() {
return this.lines;
}
public String toString() {
return "Sheet1{" + "fileName='" + fileName + '\'' + ", contents='"
+ contents + '\'' + ", lastModifiedTimestamp="
+ lastModifiedTimestamp + ", CurrentTime&Date="
+ cachedTime + '}';



}
}
}

public class DynamicTest {

public static void main(String[] args) {
Charset charset = Charset.forName("UTF-8");



try {
List<String> lines = CacheData.getLines("en_synonyms", charset) ;
if (lines != null) {
System.out.println("Number of Lines: "+lines.size());
for (String line:lines) {
System.out.println("DynamicTest:: "+line);
}
}
} catch (IOException e) {
e.printStackTrace();



}



try {
List<String> lines = CacheData.getLines("en_stopwords", charset) ;
if (lines != null) {
System.out.println("Number of Lines: "+lines.size());
for (String line:lines) {
System.out.println("DynamicTest:: "+line);
}
}
} catch (IOException e) {
e.printStackTrace();



}


}

}

最佳答案

您可以像调用任何其他静态方法一样调用它:

SaveData.main (args); // it's up to you whether to pass the same args or
// different args

关于java - 如何在另一个类中调用一个类的 main() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30460142/

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