問題タブ [nsfilehandle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - NSFileHandleDataAvailableNotification ファイルが新しいデータなしで繰り返し発生する (CPU 使用率が非常に高くなる)
NSTask
を使用して Cocoaの a の標準エラーからデータを読み込もうとしていますwaitForDataInBackgroundAndNotify
。次のコードはストリームを読み取るため、すでに部分的に機能しています。
私が抱えている問題は、新しいデータがまったくない状態で (毎秒数千回) が繰り返し発火し始めることがあることです( return NSFileHandleDataAvailableNotification
) 。その後、プロセスが大量の CPU を使用し始め、マシンの速度が低下して停止します。過去にこのようなことをしたことがある人はいますか?前もって感謝します。[data length]
0
ios - NSSearchPathForDirectoriesInDomains NSUserDomainMask
URLConnection を使用して、URL からファイルをダウンロードし、そのデータをドキュメント ディレクトリのファイルに保存しています。応答を受信すると、didReceiveResponse: メソッドが呼び出されたときに、ファイルを作成し、次のようにそのファイルの末尾に移動します。
File は NSFileHandle クラスのオブジェクトです。後でデータを受信しているときに、didReceiveData:(NSData *)data メソッドが呼び出されるたびに、受信したデータを次のようにファイルに保存します。
最後に、このように connectionDidFinishLoading: メソッドでファイルを閉じます。
システムでビルドして実行すると機能していました。しかし、別のシステムにコピーしてビルドしようとすると、次のエラーが発生します。
http://www.techotopia.com/index.php/Working_with_Directories_on_iPhone_OSと NSSearchPathForDirectoriesInDomainsとは? を参照しました。NSSearchPathForDirectoriesInDomain 関数について知っていますが、まだ明確ではありません。
UserDomainMask
プロジェクトが存在するシステムとユーザーに応じて、適切なパスを返します。もしそうなら、なぜそのようなエラーが発生するのですか?
彼らは、返されるパス (ファイルパスに保存される) はパス /Users//Library/Application Support/iPhone Simulator/User/Application//Documents になると言います。
シミュレーターが実行されている Mac OS X システムに現在ログインしているユーザーの名前であり、アプリの一意の ID です。
なぜこのようなエラーが発生するのかを理解するために、誰でも私を助けることができますか?
ios - NSFileHandle writeData: 例外処理
これはかなり広範な問題である可能性がありますが、この問題に対処または説明しているオンライン リソースは見つかりませんでした。
質問は作成後NSFileHandle *writer = [NSFileHandle fileHandleForWritingAtPath:"path"]
であり、使用する[writer writedata:"NSData"]
と、アップルのドキュメントに従って発生する可能性のある例外が発生する可能性があります。
「このメソッドは、ファイル記述子が閉じているか有効でない場合、レシーバーが接続されていないパイプまたはソケット エンドポイントを表している場合、ファイル システムに空き領域が残っていない場合、またはその他の書き込みエラーが発生した場合に例外を発生させます。」- アップルドキュメント
私が知りたいのは、try catch を使用したり、書き込み前の条件チェックで各エラーをチェックしたりせずに、これらの問題を処理または検証できる方法があるかどうかです。これを処理するために使用できる方法はありますNSError
か?
ios - iOS: 大きなファイルをダウンロードする場合の NSFileHandle と NSOutputStream の比較
iOS では、アプリケーションは約 400MB の zip ファイルをダウンロードしています。ファイルのダウンロード中に断続的にクラッシュします。
現在、[NSFileHandle writeData:] を使用して、データが入ってくると書き込みますが、メモリに保存されていません。しかし、オペレーティングシステムが何らかの形でそれをメモリに保存しているのだろうか?
NSOutputStream は、大きなファイルをダウンロードするためのより良いソリューションでしょうか? または、おそらく標準の UNIX ファイル記述子ですか?
ファイルハンドルは次のように設定されています。
現在、私の NSURLConnection デリゲート メソッドは次のようになっています。
そのため、リクエストからのデータは保存されず、他のデータ オブジェクトに追加されません。これはディスクに書き込むだけで、メモリに影響を与えるべきではありませんか?
ありがとう
ios - NSFileHandle * から FILE * を取得するには?
古いパーサーは動作するために a に依存していFILE *
ます。ただし、Dropbox Sync API for iOS はファイル ハンドルとしてNSFileHandle *
ではなく を返します。FILE *
だから私は使用しようとしfileDescriptor
ますNSFileHandle
:
- (NSFileHandle )readHandle:(DBError * )エラー
ファイルの読み取り専用ファイル ハンドルを返します。ファイルがキャッシュされていない場合、メソッドはファイルがダウンロードされるまでブロックされます。戻り値
ファイルを読み取ることができる場合はファイル ハンドル、エラーが発生した場合は nil。
として渡されますFILE *
:
ただし、EXE_BAD_ACCESS
アットザfseek
ラインがあります。
ios - NSFileHandle を使用してテキスト ファイルにデータを挿入する方法
私のコードは、5 記号から始まるテキストを挿入するのではなく、テキストを置き換えます。
テキストファイルにデータを挿入する方法はありますか?
ios - NSFileHandle fileHandleForWriting が nil、エラー コード 24 を返す
ファイルの末尾に文字列を書き込むアプリのメソッドがあります。
しばらくは機能しますが、失敗し始めます。fileHandleForWritingToURL
戻りますnil
。表示されるエラーは NSCocoaErrorDomain エラー 24 です。しかし、このエラーへの参照はどこにも見つかりません。Google は役に立ちません。誰もこれを見たことがありますか?私は何か間違ったことをしていますか?
xcode - NSFileHandle を使用して書き込み操作が成功したかどうかを判断する方法は?
クラスのメソッド-writeData:
は何も返しません。NSFileHandle
操作が成功したかどうかを判断する方法はありますか? または、他の方法でデータを保存する必要がありますか?
objective-c - NSFilehandle と行を置き換えます
アプリケーションで csv ファイルを処理する方法についてコメントがあります。
CSVファイルはカンマ区切りで保存され、例:customer1、telephone1、mail1、/n customer2、telephone2、mail2、/n のように成功しました。リスト(csv)ファイル全体を削除するアプリの機能でも成功しました。しかし、たとえばcsvファイルの行を削除するにはどうすればよいですか? 出来ますか?
ios - NSFileHandle fileHandleForWritingAtPath は有効なパスで nil を返します
この問題についていくつかのことを見つけましたが、これまでのところ何も機能していません。
次のコードを使用して、ファイルの最後に書き込もうとしています。
コードをステップ実行すると、filePath が「/var/mobile/Applications/1669D96A-1ABA-4A4F-D083-A90EB728691B/MyApp.app/Filename.txt」に設定されます。
ただし、NSFileHandle fileHandleForWritingAtPath は nil を返します。コードは例外/警告を発生させず、問題なく続行します。ファイルを文字列に読み込むと、新しいテキストは存在せず、最初にファイルに含まれていたもの (Xcode で入力されたもの) のみが存在します。ファイルを読み取るためのパスを取得するためにまったく同じコードを使用すると、うまくいきます!