有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java 安卓写入文件不会写入任何内容

我正在为我的学校项目制作一个简单的浏览器,我正在尝试制作一个收藏夹类。代码如下:

public    class    Favorite    extends Activity{                                                   
EditText etName;
EditText etAdress;
Button bAdd;
TextView tvDisplay;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.favorite);
    etName = (EditText) findViewById(R.id.etName);
    etAdress = (EditText) findViewById(R.id.etAdress);
    bAdd = (Button) findViewById(R.id.bAdd);
    tvDisplay = (TextView) findViewById(R.id.tvDisplay);

    bAdd.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            String name = etName.getText().toString();
            String adress = etAdress.getText().toString();
            if (adress != null) {
                if (adress.contains("http://") || adress.contains("www.")
                        || adress.contains(".com")
                        || adress.contains(".ro")
                        || adress.contains(".org")) {

                    try {
                        FileWriter WriteFile = new FileWriter(
                                "D:\\FACULTATE\\proiect\\Browser3\\favorites.txt");
                        BufferedWriter out = new BufferedWriter(WriteFile);
                        out.write(name + " " + adress);
                        tvDisplay.setText("Name:   " + name
                                + "   Adress:   " + adress);
                        out.close();
                    } catch (IOException e) {

                        e.printStackTrace();
                    }
                } else
                    tvDisplay
                            .setText("The adress you have entered is invalid");
            } else {
                tvDisplay.setText("You haven't entered anything");
            }
        }

    });

}
}

它也不会写入文件和文本视图中。。。我做错了什么?在添加filewriter和try/catch之前,它可以在textview中显示这两个字符串,但现在不行了


共 (2) 个答案

  1. # 1 楼答案

    您的文件名错误-这看起来不像android路径-更像一些windows内容:

    D:\\FACULTATE\\proiect\\Browser3\\favorites.txt
    
  2. # 2 楼答案

    包com。实例测试

    导入java。木卫一。缓冲写入程序
    导入java。木卫一。档案
    导入java。木卫一。文件编写器
    导入java。木卫一。IOException

    导入android。注释。抑制皮棉
    导入android。应用程序。活动
    导入android。操作系统。束
    导入android。操作系统。环境
    导入android。看法观点
    导入android。小装置。按钮
    导入android。小装置。编辑文本
    导入android。小装置。文本视图

    公共类收藏夹扩展活动
    {
    编辑文本名称
    编辑文本
    按钮添加
    文本视图电视显示

    @覆盖
    创建时受保护的void(Bundle savedInstanceState)
    { 超级的onCreate(savedInstanceState)
    setContentView(R.layout.favorite)
    etName=(EditText)findViewById(R.id.etName)
    eTAddress=(EditText)findViewById(R.id.eTAddress)
    bAdd=(按钮)findViewById(R.id.bAdd)
    tvDisplay=(TextView)findViewById(R.id.tvDisplay)

    巴德。setOnClickListener(新视图。OnClickListener()
    {

    @SuppressLint(“新API”)
    @覆盖
    点击公共空白(视图v)
    {
    String name=etName。getText()。toString()
    字符串地址=etAddress。getText()。toString()
    如果(地址!=null)
    {
    如果(地址包含(“http:/”)| |地址。包含(“www.”地址。包含(“.com”)||地址。包含(“.ro”) ||地址。包含(“.org”)) {
    尝试 {
    File File=新文件(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_下载),“favorite.txt”)
    FileWriter WriteFile=新的FileWriter(文件)
    BufferedWriter out=新的BufferedWriter(WriteFile)
    出来书写(姓名+“”+地址)
    电视显示器。setText(“名称:“+名称+”地址:“+地址”)
    出来close()
    }
    捕获(IOE异常) { e、 printStackTrace(); } } 其他的 电视显示器。setText(“您输入的地址无效”)
    } 其他的 { 电视显示器。setText(“您没有输入任何内容”)
    } } }); } } 别忘了添加
    “使用权限”android:name=“android。准许在AndroidManifest.xml中写入外部存储“
    它对我有用