将文本写入streamwriter文件帮助 [英] Writing text to a streamwriter file help

查看:76
本文介绍了将文本写入streamwriter文件帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个GUI,当选择7个数字时,它将生成所有可能的字母组合(2,187)。例如:如果选择数字2,则可能的组合将是ABC,ACB,BCA,BAC,CBA,CAB。现在只发出写入编写器文件。



2 = ABC,3 = DEF,4 = GHI,5 = JKL,6 = MNO,7 = PQRS ,8 = TUV,9 = WXYZ

**不包括1& 0



我尝试过:



I am trying to create a GUI that will generate all the possible combination of letters (2,187) when 7 numbers are chosen. ex: if number 2 is chosen the possible combinations would be ABC, ACB, BCA, BAC, CBA, CAB. Only issue right now is writing to the streamwriter file.

2 = ABC, 3 = DEF, 4 = G 5 = JKL, 6 = MNO, 7 = PQRS, 8 = TUV, 9 = WXYZ
**Excluding 1 & 0

What I have tried:

<pre>using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TeleNumLetters
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
            
        
            int[] numberInput = new int[8] { 2, 3, 4, 5, 6, 7, 8, 9 };
            int maxLength = 7;
            char[] phoneArray = new char[7];

            char[] number2 = { 'A', 'B', 'C'};
            char[] number3 = { 'D', 'E', 'F' };
            char[] number4 = { 'G', 'H', 'I' };
            char[] number5 = { 'J', 'K', 'L' };
            char[] number6 = { 'M', 'N', 'O' };
            char[] number7 = { 'P', 'Q', 'R', 'S'};
            char[] number8 = { 'T', 'U', 'V'};
            char[] number9 = { 'W', 'X', 'Y', 'Z'}; 
        
        public void ConvertNumber()
        {
            String phoneNumber = textBox1.Text;
            for (int i = 0; i < 7; i++)
            {
                phoneArray[i] = phoneNumber.ElementAt(i);
            }
        }

        private void generateButton_Click(object sender, EventArgs e)
        {
            try
            {   
                string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                using (StreamWriter writer = new StreamWriter(mydocpath + @"F:\\log.txt"))                   
                {
                    writer.WriteLine("");
                }
            }
            catch { }
            }

        private void numberTwobutton_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength < maxLength)
            {
                textBox1.Text += Convert.ToString(numberInput[0]);
            }
            else { }
        }

        private void numberThreebutton_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength < maxLength)
            {
                textBox1.Text += Convert.ToString(numberInput[1]);
            }
            else { }
        }

        private void numberFourbutton_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength < maxLength)
            {
                textBox1.Text += Convert.ToString(numberInput[2]);
            }
            else { }
        }

        private void numberFivebutton_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength < maxLength)
            {
                textBox1.Text += Convert.ToString(numberInput[3]);
            }
            else { }
        }

        private void numberSixbutton_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength < maxLength)
            {
                textBox1.Text += Convert.ToString(numberInput[4]);
            }
            else { }
        }

        private void numberSevenbutton_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength < maxLength)
            {
                textBox1.Text += Convert.ToString(numberInput[5]);
            }
            else { }
        }

        private void numberEightbutton_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength < maxLength)
            {
                textBox1.Text += Convert.ToString(numberInput[6]);
            }
            else { }
        }

        private void numberNinebutton_Click(object sender, EventArgs e)
        {
            if (textBox1.TextLength < maxLength)
            {
                textBox1.Text += Convert.ToString(numberInput[7]);
            }
            else { }
        }
    }
    }

推荐答案

引用:

new StreamWriter(mydocpath + @"F:\\log.txt")



这是最可能的问题。



mydocpath 将包含以下内容: C:\ Users \ You \Documents



然后你追加一个绝对路径 F:\ log.txt



所以你的最终路径是: C:\ Users \You \DocumentsF:\ log.txt



不仅该目录不存在,不能存在,因为文件和文件夹名称不能包含冒号字符。



使用绝对路径或我的文档路径:


That's the most likely problem.

The mydocpath will contain something like: C:\Users\You\Documents

You then append an absolute path of F:\log.txt

So your final path will be: C:\Users\You\DocumentsF:\log.txt

Not only does that directory not exist, it cannot exist, because file and folder names cannot contain a colon character.

Either use the absolute path, or the "My Documents" path:

new StreamWriter(Path.Combine(mydocpath, "log.txt"))


这篇关于将文本写入streamwriter文件帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆