我只是看StreamReader/Writer的构造函数,我注意它使用UTF8作为默认值.有谁知道这是为什么?我本以为默认使用Unicode会更安全.
StreamReader fr = new StreamReader("D:\\test\\" + item);
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的.Item是一个带文件名的String.孔串就是这样
"D:\\test\\01-Marriotts Island.mp3"
Run Code Online (Sandbox Code Playgroud)
因为他试图生成StreamReader.什么路径错了?
基本上我需要有人来帮助我或者给我看一些代码,这些代码可以让我从一个名为c1.txt的文件中读取名称和价格.
这就是我已经拥有的.
TextReader c1 = new StreamReader("c1.txt");
if (cse == "c1")
{
string compc1;
compc1 = c1.ReadLine();
Console.WriteLine(compc1);
Console.WriteLine();
compcase = compc1;
compcasecost = 89.99;
}
Run Code Online (Sandbox Code Playgroud)
如何选择一行来从文本文档中读取将是很好的.
我所拥有的是一个巨大的txt文件,60MB.我需要读取每一行并生成一个文件,基于分隔符进行拆分.我没有读取文件或生成文件的问题,我的复杂功能来自分隔符,它无法看到分隔符.如果有人可以就如何阅读该分隔符提出建议,我将非常感激.
delimiter =Ç
public void file1()
{
string betaFilePath = @"C:\dtable.txt";
StringBuilder sb = new StringBuilder();
using (FileStream fs = new FileStream(betaFilePath, FileMode.Open))
using (StreamReader rdr = new StreamReader(fs))
{
while (!rdr.EndOfStream)
{
string[] betaFileLine = rdr.ReadLine().Split('Ç');
{
sb.AppendLine(betaFileLine[0] + "ç" + betaFileLine[1] + betaFileLine[2] + "ç" + betaFileLine[3] + "ç" + betaFileLine[4] + "ç" + betaFileLine[5] + "ç" + betaFileLine[6] + "ç" + betaFileLine[7] + "ç" + betaFileLine[8] + "ç" + betaFileLine[9] + "ç" + betaFileLine[10] + "ç");
} …Run Code Online (Sandbox Code Playgroud) Uri targetUri = new Uri(targetURL);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string data = reader.ReadToEnd();
response.Close();
Run Code Online (Sandbox Code Playgroud)
为什么上面的代码工作正常,但以下代码没有?请注意,我在以下代码中提前关闭响应.
Uri targetUri = new Uri(targetURL);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
response.Close();
string data = reader.ReadToEnd();
Run Code Online (Sandbox Code Playgroud) 我创建了一个使用FileStream的StreamReader.在StreamReader方法的最后,当使用Peek()方法时,我看到数值65535.转换为char时表示句点'.' 在VS中使用'watch',我可以看到已经到达EndOfStream.65535('.')值是什么意思?句点('.')是否与ASCII对应?
我以为我听说'0'表示文件/流的结尾.
注意:如果流正在使用文件,我不确定EOF和EOS(流结束)之间是否存在差异.
//Contains some business logic, main focus is on the while loop expression
try
{
//The peek method is used to avoid moving the Stream's position.
//If we don't encounter a number character representing the RDW, keep reading until we find one.
while (!Char.IsDigit((char)this.StreamReader.Peek()))
{
if (!this.StreamReader.EndOfStream)
this.StreamReader.Read();
else
return false;
}
//Loop completed and found the next record without encountering the end of the stream
return true;
}
catch (IOException IOex)
{
throw new Exception(String.Format("An IO …Run Code Online (Sandbox Code Playgroud) 这就是我想要做的:
我想实现的想法是这样的:
选择目录,然后输入一个字符串.转到该文件夹中的每个文件.例如,文件夹是:Directory={file1.txt,file2.txt,file3.txt}
我想首先去file1.txt,读取所有文本,成为一个字符串,看看我的字符串是否在该文件中.如果是:请转到file2.txt,依此类推.
我被赋予了一项简单的任务,我似乎无法弄清楚如何完成它.
我收到了一个文本文件,其中包含员工的姓名和工资率/小时数.格式如下:
Mary Jones
12.50 30
Bill Smith
10.00 40
Sam Brown
9.50 40
Run Code Online (Sandbox Code Playgroud)
我的任务是编写一个程序,使用StreamReader从文本文件中提取数据,然后打印员工姓名,并通过乘以费率和小时来计算总工资.
我知道如何使用.Split方法拆分行,但我似乎无法弄清楚如何从双打/整数中分离名称.我的解析方法总是会返回格式错误,因为它首先读取字符串.我完全卡住了.
这是我的代码到目前为止,任何帮助或指导将不胜感激.
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lab21
{
class Program
{
static void Main(string[] args)
{
StreamReader myfile = new StreamReader("data.txt");
string fromFile;
do
{
fromFile = myfile.ReadLine();
if (fromFile != null)
{
string[] payInfo = fromFile.Split( );
double wage = double.Parse(payInfo[0]);
int hours = int.Parse(payInfo[1]);
Console.WriteLine(fromFile);
Console.WriteLine(wage * hours);
}
} while (fromFile != null);
}
} …Run Code Online (Sandbox Code Playgroud) 我正在做一个简单的程序,可以读写.txt文件。我有要写入并保存.txt文件的程序,但是从.txt文件读取时遇到了一些麻烦。到目前为止,这是我得到的:
Using openTxt As New OpenFileDialog()
If openTxt.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim displayForm As New Form
Dim textReader As New System.IO.StreamReader(openTxt.FileName)
displayForm.ListBox1.Text = textReader.ReadToEnd
textReader.Close()
displayForm.Show()
Else
MessageBox.Show("Not a text file")
End If
End Using
Run Code Online (Sandbox Code Playgroud)
我想发生的是,当文本被读取时,它会填充在另一个窗体(displayForm)内的列表框中。我尝试使文本以相同的形式显示在列表框中,以查看是否可能已更改任何内容,但仍保持空白。我可以确认我只用.txt文件进行过测试,因为在此阶段我没有进行任何错误检查。非常感谢您的帮助!
所以我正在为学校项目尝试Windows表单并继续遇到错误:
System.IO.IOException('进程无法访问文件'C:\ XXXX\YYYY.txt',因为它正由另一个进程使用.'
当试图File.Delete(path);通过button_click事件删除文件()时.
事实证明,当我改变以下方法时:
private void updateTxt(){
String tempStore = "";
iDLbl1.Text = "ID:" + id;//iDLbl1 is ID Label 1
try
{
StreamReader Reader = new StreamReader(path);
while (!Reader.EndOfStream)
{ tempStore += Reader.ReadLine() + "\n"; }
}
catch { noIDLbl.Visible = true; }
rTxtBox.Text = tempStore;//rTxtBox is Rich Text Box
}
Run Code Online (Sandbox Code Playgroud)
至
private void updateTxt(){
String tempStore = "";
iDLbl1.Text = "ID:" + id;//iDLbl1 is ID Label 1
try
{
using(StreamReader Reader = new StreamReader(path)) …Run Code Online (Sandbox Code Playgroud) streamreader ×10
c# ×8
.net ×4
file ×2
encoding ×1
filestream ×1
streamwriter ×1
string ×1
textreader ×1
using ×1
vb.net ×1
winforms ×1