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

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

public class SaveData {

private static final Map myCachedTreeMap = new TreeMap();

public static final List 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 lines;

private String fileName;

public FileContentsObject(long cachedTime, long lastModifiedTimestamp,

String contents, String fileName, List 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 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 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 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();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值