Scanner nao pega o espaco e deletar o arquivo

package MiniProjeto;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.DirectoryNotEmptyException;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Paths;
import java.util.Scanner;

public class ManipulaçãodeArquivo {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	
	Scanner teclado = new Scanner (System.in);
	
	
	File arquivo = new File("manipulacao.txt"); // cria uma .txt no workspace
	String codigo;
	String escrevendo;
	
	System.out.println("Menu: " + "\n" +
					   "Digite 0 - Para sair do programa" + "\n" +
			           "Digite 1 - Inserir Nomes" + "\n" + 
					   "Digite 2 - Listar Nomes" + "\n" +
					   "Digite 3 - Apagar Nomes" + "\n" +
			           "Digite 4 - Deletar arquivo");

	

	
	try {
		arquivo.createNewFile();
	}catch(IOException ex){
		
	}
	
	do {
		System.out.println("\n" + "Digite um codigo:");
		codigo = teclado.next();
		
		switch(codigo) {
			
		
				case "0":
					System.out.println("Voce saiu do programa!");
					
					break;
				case "1":
					
					System.out.println("");
					System.out.println("Digite um nome: ");
					
					try {		
					//Escrever no arquivo
					escrevendo = teclado.next();
					
					FileWriter CriarEscrever = new FileWriter(arquivo, true); // Parametro false - ele substitui || true 
					
					BufferedWriter escrever = new BufferedWriter(CriarEscrever);
					
					
					
					escrever.write(escrevendo);
					escrever.newLine();
					
					escrever.close(); 
					CriarEscrever.close();
					
					}catch (IOException e) {
						e.printStackTrace();
					}
					
					break;
					
					
				case "2":	
					try {
					//Ler o arquivo
						
					FileReader CriarExibir = new FileReader(arquivo);
					
					System.out.println("Lista dos nomes:");
					BufferedReader ler = new BufferedReader(CriarExibir);
					String exibir = ler.readLine();
					
					while(exibir != null) {
						System.out.println(exibir);
						exibir = ler.readLine();
						
					}
					
					}catch (IOException ex) {
						
					}
						
					break;
					
				case "3": 	
					try {		
						//Escrever no arquivo
	
						
						FileWriter CriarExcluir = new FileWriter(arquivo, false); // Parametro false - ele substitui || true 
						
						BufferedWriter escrever = new BufferedWriter(CriarExcluir);	
									
						escrever.write("");
						
						CriarExcluir.close();
						
						}catch (IOException e) {
							e.printStackTrace();
						}
				case "4": 
					//Deletar o arquivo
					
					if( arquivo.delete()) {
						System.out.println("Arquivo Deletado Com sucesso");
					}
					
					break;
					
				default:
					System.out.println("Codigo Invalido!");
					break;
					
		}
				
		
		
	}while(!codigo.equals("0")); //&& !codigo.equals("4"));
	teclado.close();
	
}

}

Queria saber uma forma de o Scanner pegar o espaco vazio pois quando digito um nome mesmo no teclado.nextLine ele nao pega um nome composto ex(Joao Pedro) e tambem queria saber como excluir um .txt pois usando o metodo .delete ele exclui porem o arquivo precisa estar vazio , no case 3 : foi uma tentativa de excluir oque tem dentro do arquivo.Preciso de ajuda nesses dois pontos

Tem muda onde está:

codigo = teclado.next();

Para:

codigo = teclado.nextLine();

E onde está:

escrevendo = teclado.next();

Para:

escrevendo = teclado.nextLine();

Cara valeu mesmo eu sempre mudava um e nao mudava o outro kkkk , vlw agora so falta um problema pra resolver