使用单独的java文件方法

时间:2016-07-02 14:29:28

标签: java android import

这个问题是关于Android的,虽然我不认为这是特定于Android的。

我有一个项目,我想使用两个文件:MainActivity.java和filetools.java。我在filetools.java中有三个方法,read,write和append。 我希望能够在我的MainActivity中执行类似的操作:

filetools.write("/sdcard/file.txt", "something");

MainActivity的代码只是包,导入,类和onCreate。

filetools的代码:

package com.tylerr147.FileRW;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class filetools
{
      public String read(String fName){
       try{
          File mFile = new File(fName);
          String content = new Scanner(mFile).useDelimiter("\\Z").next();
      return content;
    }catch(Exception e) {
      return "There was an error retrieving your file. The proccess returned this error:\n"+e.toString();
    }

  }

  public boolean write(String loc, String stuff) {
    File mfile = new File(loc);
    try {
      mfile.createNewFile();
      FileOutputStream f = new FileOutputStream(mfile);
      OutputStreamWriter f2 = new OutputStreamWriter(f);
      f2.append(stuff);
      f2.close();
      f.close();
    } catch(IOException e) {
      return false;
    }
    return true;
  }

  public void append(String filename,     String content) {
    write(filename, read(filename)+content);
  }
}

我希望能够做的另一件事是通过com.app.importer包提供一个完全不同的应用程序

我怎么能做像

这样的事情
import com.app.importer;

importerAppsMethod();

我在stackoverflow上发现了一些帖子,但它们没有帮助。

Importing my custom class and calling it's method?

还有一些,我搜索过,找不到任何适合我的东西。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:2)

我正在对@ishmaelMakitla发表评论intocan answer。

执行类似filetools.write(“/ sdcard / file.txt”,“something”)的操作; - 您需要将write方法声明为static。例如:public static boolean write(String loc,String stuff)。如果您想要类似的行为,则可能必须对所有其他方法执行相同的操作。这是你在找什么?