0

我有两个数据集,它们当前与我的 java 文件和我的 PC 位于同一文件夹中。目前,我正在通过我的 C 盘访问它们。由于这是一个应用程序,我应该在哪里保存我的 .ARFF 文件以及我应该使用什么路径?我在原始文件夹中尝试过,但似乎没有任何效果。

这是我到目前为止所拥有的... 当前代码 等级制度

4

2 回答 2

2

在你的项目中创建一个 raw 目录,raw 包含在 android 项目的 res 文件夹中。您可以在原始文件夹中添加资产文件,如音乐文件、数据库文件或文本文件或您需要直接访问的其他文件

1) 右键单击​​ res 文件夹,选择 New> Directory,然后 studio 将打开一个对话框,它会要求您输入名称。

2) 输入“raw”并单击“确定”。打开 res 文件夹,你会在它下面找到你的 raw 文件夹。

InputStream input = Context.getResources().openRawResource(R.raw.your_file_name);

// 从原始目录读取文件的示例

private String readFileFromRawDirectory(int resourceId)
{
InputStream iStream = context.getResources().openRawResource(resourceId);
ByteArrayOutputStream byteStream = null;
try {
byte[] buffer = new byte[iStream.available()];
iStream.read(buffer);
byteStream = new ByteArrayOutputStream();
byteStream.write(buffer);
byteStream.close();
iStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return byteStream.toString();
}
}
于 2019-04-01T05:54:29.550 回答
1

经过太多小时

从资产文件夹中检索数据的非常简单的解决方案!只有一种用户定义的方法。

  1. 在目录中创建raw文件夹res
  2. 粘贴任何文件在raw directory
  3. 制作一个单独的.java文件
  4. 确保它是一个派生类(在这种情况下它扩展了AppCompatActivity
  5. 将 Part A 写在正文中
  6. 将 B 部分写在体外

A.这是在main函数中或在自定义user-defined函数中。

BufferedReader bReader;            
bReader = new BufferedReader(
           new InputStreamReader(ISR(R.raw.FILENAME_WITHOUT_TYPE)));

FILENAME_WITHOUT_TYPE仅指文件名称,而不是其结尾(后面的所有内容.)。

B.这是 ISR 的定义。

public InputStream ISR(int resourceId) {
    InputStream iStream = getBaseContext().getResources().openRawResource(resourceId);
    return iStream;
}

奇迹般有效!

资源:

于 2019-04-01T07:54:43.507 回答