0

ネットワーク上にあり、IP アドレスを介してアクセスする C# アプリケーションからテキスト ファイルにアクセスして編集したいと考えています。ファイルにアクセスするために必要な資格情報はないので、このタスクを達成する方法についてサンプル コードまたはガイドが必要です。編集したいファイルは Android タブレット上にあり、Android アプリケーション (SD カード) のストレージは、マシンと Android デバイスが同じネットワーク上にあるため、IP アドレスを介してアクセスしています。ありがとう

  try
        {
        StreamReader sr = new StreamReader("192.168.1.2/NewFolder/TickerText.txt");

            //Read the first line of text
            line = sr.ReadLine();

            //Continue to read until you reach end of file
            while (line != null) 
            {
                //write the lie to console window
                textBox1.Text=line;
                //Read the next line
                line = sr.ReadLine();
            }

            //close the file
            sr.Close();
            Console.ReadLine();
        }
        catch(Exception ae)
        {
            textBox1.Text = ae.Message;
        }
4

2 に答える 2

3

両方のコンピューターが Windows であると仮定すると、ファイルが格納されているフォルダーを共有し、次を使用して書き込み用にアクセスできます。

using (StreamWriter writer = new StreamWriter(@"\\IPADDRESS\directories\file.txt") 
{
    writer.Write("Word ");
}

および次を使用して読み取る場合:

File.ReadAllLines(@"\\IPADDRESS\directories\file.txt");

他のファイル リーダー/ライターと同じです。


ファイルがオンになっているAndroidオペレーティングシステムに関する追加情報と、FTPが含まれていることで、私はそれしか言えません

あなたに役立つでしょう。

CodeProjectの記事から関連情報を貼り付けます。
このコードは私のものではありませんが、必要なことは実行できます。
作業が完了したら、忘れずにファイルを Android システムにアップロードしてください。

/* Download File */
    public void download(string remoteFile, string localFile)
    {
        try
        {
            /* Create an FTP Request */
            ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile);
            /* Log in to the FTP Server with the User Name and Password Provided */
            ftpRequest.Credentials = new NetworkCredential(user, pass);
            /* When in doubt, use these options */
            ftpRequest.UseBinary = true;
            ftpRequest.UsePassive = true;
            ftpRequest.KeepAlive = true;
            /* Specify the Type of FTP Request */
            ftpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
            /* Establish Return Communication with the FTP Server */
            ftpResponse = (FtpWebResponse)ftpRequest.GetResponse();
            /* Get the FTP Server's Response Stream */
            ftpStream = ftpResponse.GetResponseStream();
            /* Open a File Stream to Write the Downloaded File */
            FileStream localFileStream = new FileStream(localFile, FileMode.Create);
            /* Buffer for the Downloaded Data */
            byte[] byteBuffer = new byte[bufferSize];
            int bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
            /* Download the File by Writing the Buffered Data Until the Transfer is Complete */
            try
            {
                while (bytesRead > 0)
                {
                    localFileStream.Write(byteBuffer, 0, bytesRead);
                    bytesRead = ftpStream.Read(byteBuffer, 0, bufferSize);
                }
            }
            catch (Exception ex) { Console.WriteLine(ex.ToString()); }
            /* Resource Cleanup */
            localFileStream.Close();
            ftpStream.Close();
            ftpResponse.Close();
            ftpRequest = null;
        }
        catch (Exception ex) { Console.WriteLine(ex.ToString()); }
        return;
    }
于 2013-03-20T11:11:49.293 に答える
1

次のようなファイルを読み取ることができます。

File.ReadAllLines(@"\\192.168.1.1\FileName.txt");

string[]、または次のように返されます。

foreach (string line in File.ReadLines(@"\\192.168.1.1\FileName.txt"))
{
    ...
}

1行ずつ。そして、次のようにファイル (改行など) に追加できます。

File.AppendAllText(@"\\192.168.1.1\FileName.txt", "Hello, World!");

他にもたくさんの方法があります。System.Io名前空間を活用します。

于 2013-03-20T11:12:53.873 に答える