我有一个文本文件名的字符串数组。我想通过迭代器发送这个字符串数组,并让它给我每个文本文件的前X个字符。然后它会将这些字符串放入一个我可以包含在列表视图中的数组中。
我打算使用缓冲的阅读器来阅读文本,然后对其进行子串。但至于使用循环遍历每个文件,我猜你需要使用for循环或foreach循环。但是我真的不知道如何使用它们。
任何帮助将不胜感激。谢谢!
编辑:
我应该早点补充一下。我使用它来显示已下载的文件,并为它们提供文本文件的预览。但是,就像我上面说的那样,其中一些还没有被下载。我想知道文件名数组中的哪个位置实际存在,并且能够将检索到的字符串放在列表视图的适当位置。这会影响当前的任何答案吗?有什么想法吗?
答案 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);