我有WPF C#应用程序,读取和写入.txt文件,我知道如何写行但行,但我如何覆盖已经是文件的文本.这就是我要写到文本文件的下一行的内容,但是我希望不仅仅是写入下一行,谢谢.
using (StreamWriter newTask = new StreamWriter("test.txt", true))
{
newTask.WriteLine(name[i].ToString());
}
Run Code Online (Sandbox Code Playgroud) 我正在从列表中加载一个TreeView,并且用户有一个删除项目的按钮,它从列表中删除它没问题,但是还有一个按钮在项目被删除后用列表更新TreeView,I将新项目添加到TreeView没有问题,但是在添加新项目之前有没有办法清除TreeView中的所有项目,所以我在TreeView中没有重复项?我试过在互联网上找其他地方寻找答案,但无法找到它,我尝试过简单的事情:
treeView1.Items.Clear();
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
对不起,我在评论中提到它,下面我很确定这条线确实清楚了,我只是没有在正确的地方使用它,谢谢你的答案.
嗨我有一堆数据我正在写入文本文件,每行的行包含大约4个不同的数据,我想这样做,以便每个类型的数据在行中对齐.
这是写入数据的行.
output.write(aName + " " + aObjRef + " " + aValue + " " + strDate + " " + note + (System.getProperty("line.separator")));
Run Code Online (Sandbox Code Playgroud)
以下是现在编写时数据的外观.
CR_2900_IPGR_AL 2900.EV2 Alarm 111107
CR_2900_IMPT_AL 2900.EV311 Alarm 111107
CR_STH_CHL_AL 2900.EV315 Alarm 111107
CR_OAT_AL 2900.EV318 Alarm 111107
SLB_102_2270A Temp Event 60215.EV1 Fault 111107
MACF_70300_IMPT_AL 70300.EV2 Alarm 111107
Run Code Online (Sandbox Code Playgroud)
以下是我喜欢它的样子
CR_2900_IPGR_AL 2900.EV2 Alarm 111107
CR_2900_IMPT_AL 2900.EV311 Alarm 111107
CR_STH_CHL_AL 2900.EV315 Alarm 111107
CR_OAT_AL 2900.EV318 Alarm 111107
SLB_102_2270A Temp Event 60215.EV1 Fault 111107
MACF_70300_IMPT_AL 70300.EV2 Alarm 111107
Run Code Online (Sandbox Code Playgroud) 快速问题:我有一个用于用户输入的JTextField,在我的焦点监听器中,当JTextField失去焦点时,如何检查JTextField中的数据是否为数字?谢谢
我有一个string拿着开始时间,在这种格式的结束时间,8:30AM - 9:30PM我希望能带出的AM -和PM所有的时间转换到24小时格式所以9:30PM真的是21:30,也有两种存储在2级不同的变量的时候,我知道如何剥离字符串,substrings但我不确定转换,这是我到目前为止.时间变量开始持有8:30AM - 9:30PM.
String time = strLine.substring(85, 110).trim();
//time is "8:30AM - 9:30PM"
String startTime;
startTime = time.substring(0, 7).trim();
//startTime is "8:30AM"
String endTime;
endTime = time.substring(9).trim();
//endTime "9:30AM"
Run Code Online (Sandbox Code Playgroud) 我在.hpp文件中创建了一个重载的++运算符,然后在.hpp文件中调用了一个函数.然后.cpp文件调用该函数,但是当函数点击++代码时,它不会导致重载运算符,而是使用++的默认操作运算符.为什么不使用我的重载运算符?
这是++的运算符:
iterator& operator ++ () { // pre-increment
std::list<value_type>::iterator i = listOfValues.begin();
advance(i,1);
return &*i;
}
Square_List operator ++ (int) { // post-increment
std::list<value_type>::iterator i = listOfValues.begin();
advance(i,1);
return &*i;
}
Run Code Online (Sandbox Code Playgroud)
以下是使用它的功能:
template <typename A_>
void testerIncrement(A_ toInc)
{
toInc = listOfValues.begin();
cout << "\n" << *toInc;
++toInc;
cout << "\n" << *toInc;
++toInc;
}
Run Code Online (Sandbox Code Playgroud)
最后是在.cpp文件中调用该函数
ca.testerIncrement(ca.listOfValues.begin());
Run Code Online (Sandbox Code Playgroud) 有人可以帮助解释c ++中互锁变量访问和关键部分互锁增量之间的差异吗?非常感谢,提前谢谢.
在我的Java GUI应用程序我有一个JButton和点击时调用一个function连接到一个database,然后调用function到clear一个table在DB,然后调用function从一个文件并加载读取文本variables,这就要求一个function从另一个文件中读取文本,进行比较在data从两个,然后调用function要么update或insert数据在数据库中,所有这一切工作正常.
但是我的问题与JButton它有关,当它点击时我想运行一个Indeterminate progress bar正确的用户知道工作正在完成然后就在它离开之前action listener setIndeterminate to false并设置了progress barto 的值100(complete),但在我的情况下当你点击button它保持在点击状态和progress bar冻结.
我应该实施什么来防止这种情况?可能穿线?但我对java中的线程很新.这是我的动作听众:
private class buttonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if( e.getSource() == genButton )
{
progressBar.setIndeterminate(true);
progressBar.setString(null);
try
{
dbConnect(); //connects to DB …Run Code Online (Sandbox Code Playgroud) 所以我有一个JTextArea用户输入,然后当他们点击一个按钮,它将它写入文本文件,我有两个setLineWrap并setWrapStyleWord设置true为JTextArea.
我想写文本文件在文本框中显示的确切方式.
我试图replace("\n", System.getProperty("line.separator"))在String保持JTextArea其工作的内容上做一个,但是只有当用户在键入输入时实际点击返回键时,但是如果用户只是继续键入并命中一行的结尾,那么它跳转到它下面的线,replace不起作用.
我也试过使用a StringBuffer,我计算了在线上适合多少个字符,然后在for loop inserting每一行的末尾运行一个新行,所以对于第一行我会将它添加到位置90,第二行180,第三行270等等.但我很快意识到,并非在所有情况下工作,因为有些字符是比别人例如,你可以容纳下更多的小j'上比单一线S p的.
我想做的只是想办法计算一行的结尾,这样我才知道insert新行的位置,但我也对其他建议持开放态度.谢谢.如果你认为看到我的一些代码就会有所帮助.
更新 而不是实现代码来执行此操作,我与那些将成为使用此程序的唯一人之一的人进行了交谈,并且他对常规记事本格式很好并且我没有意识到这一点,但只要他在他的word中检查了wordWrap然后,记事本格式设置将消除他必须使用侧滚动以读取整行,感谢您的输入
我目前有一个程序从文本文件中读取,然后在读取的每一行之后写入数据库,文本文件的大小未确定,有些日子文件可能比其他日期更多或更少.
我已经有一个执行我的功能的摇摆工作器,所以我的进度条工作但是现在我必须这样setIndeterminate,true所以用户知道正在做的事情而不是实际的进展.
有没有一种方法可以在读取每一行后增加进度条,但是它不能太早或太晚达到100,最好不要事先读完文本文件.谢谢,牛肉.
java ×6
swing ×3
c# ×2
c++ ×2
datetime ×1
filewriter ×1
increment ×1
jprogressbar ×1
jtextarea ×1
jtextfield ×1
operators ×1
overwrite ×1
progress-bar ×1
streamwriter ×1
stringbuffer ×1
substring ×1
swingworker ×1
text ×1
text-files ×1
treeview ×1
validation ×1
winapi ×1
wpf ×1