如何将多个文本文件中的字符串添加到数组中

时间:2016-03-01 22:42:16

标签: java android arrays for-loop foreach

我有一个文本文件名的字符串数组。我想通过迭代器发送这个字符串数组,并让它给我每个文本文件的前X个字符。然后它会将这些字符串放入一个我可以包含在列表视图中的数组中。

我打算使用缓冲的阅读器来阅读文本,然后对其进行子串。但至于使用循环遍历每个文件,我猜你需要使用for循环或foreach循环。但是我真的不知道如何使用它们。

任何帮助将不胜感激。谢谢!

编辑:

我应该早点补充一下。我使用它来显示已下载的文件,并为它们提供文本文件的预览。但是,就像我上面说的那样,其中一些还没有被下载。我想知道文件名数组中的哪个位置实际存在,并且能够将检索到的字符串放在列表视图的适当位置。这会影响当前的任何答案吗?有什么想法吗?

2 个答案:

答案 0 :(得分:0)

让我们为您拥有的变量命名:

String array:String filenames []

x个字符:int x

文件中的x个字符数组:字符串字符[]。假设您将每个索引设置为空字符串。

private void CreateSecurityAndTimestampXML(string fileName)
{
    TimestampID = "TS-E" + GUID.NewGuid();
    DateTime SecurityTimestampUTC = DateTime.UtcNow;

    XDocument xdoc = new XDocument(
        new XElement(wsse + "Security",
            new XAttribute(XNamespace.Xmlns + "wsse", wsse.NamespaceName),
            new XAttribute(XNamespace.Xmlns + "wsu", wsu.NamespaceName),
            new XElement(wsu + "Timestamp",
                // new XAttribute(wsu + "Id", TimestampID), // <-- Does Not Work
                new XAttribute("Id", TimestampID), // <-- Works
                new XElement(wsu + "Created", SecurityTimestampUTC.ToString(_timestampFormat)),
                new XElement(wsu + "Expires", SecurityTimestampUTC.AddMinutes(10).ToString(_timestampFormat))
            )
        )
    );

    using (XmlTextWriter tw = new XmlTextWriter(fileName, new UTF8Encoding(false)))
    {
        xdoc.WriteTo(tw);
    }
}

// Snippet
string[] elements = { TimestampID };

foreach (string s in elements)
{
    Reference reference = new Reference()
    {
        Uri = "#" + s
    };

    XmlDsigExcC14NTransform env = new XmlDsigExcC14NTransform();
    env.InclusiveNamespacesPrefixList = _includedPrefixList;
    reference.AddTransform(env);

    xSigned.AddReference(reference);
}

// Add Key Info Here.

// Compute the Signature.
xSigned.ComputeSignature();

答案 1 :(得分:0)

感谢您的帮助。这就是我最终的目标:

    filenamearray = filenamefinal.split(";");
    try {


        List<String> results = new ArrayList<String>();
        for (int i = 0; i < filenamearray.length; i++) {

            File txt = new File(getExternalFilesDir(Environment.DIRECTORY_MUSIC) + "/" + filenamearray[i] + ".txt");
            if (txt.exists()) {

                txtread = new FileInputStream(getExternalFilesDir(Environment.DIRECTORY_MUSIC) + "/" + filenamearray[i] + ".txt");
                BufferedReader reader = new BufferedReader(new InputStreamReader(txtread));
                String text = reader.readLine();
                displaytxt = text.substring(0, 45) + ". . ."
                results.add(displaytxt);
            } else {
                results.add("empty");
            }
        }

        finalversetextarray = new String[results.size()];
        finalversetextarray = results.toArray(finalversetextarray);